代码之家  ›  专栏  ›  技术社区  ›  eugeneK

星号相容性查找算法

  •  0
  • eugeneK  · 技术社区  · 14 年前

    我使用的是VB.NET,但是任何其他已知的语言只要使用基本功能就可以了。

    对于那些不知道占星术的迹象,但仍然想帮助,有12个迹象。每个符号与其他符号或自身具有不同的兼容性。所以基本上我进入了12^2-12的状态。例如,患癌症的白羊座“一点也不匹配”,所以我可以把这个问题的一个记录保存下来,因为它是相同的(因此最后是-12)。

    问题很简单,除了使用12^2-12案例问题之外,还有其他方法来创建这个。。。

    即伪码

    if sign1=1 and sign2=4
    return "do not match at all"
    ...
    
    3 回复  |  直到 14 年前
        1
  •  7
  •   Nicolas78    14 年前

    然后你可以说

    compatibility = c[sign1][sign2]
    print compatibility
    
        2
  •  3
  •   Nick Johnson    14 年前

    只需准备六份预先编写的兼容性摘要,然后随机插入用户输入的星号。没有人能分辨出区别。

        3
  •  1
  •   Mau    14 年前

    对。使用查找表,例如以文本文件的形式。这样,您也可以在不更改代码的情况下快速修改消息。

    文本文件:

    Aries Gemini "Like cat and dog"
    Aries Libra "Certain Love"
    ...
    

    var compatibilities = read(textFile)  // This is a 2D array
    
    function compatibility(sign1, sign2) {
        int sign1Index = signNameToNumber(sign1)
        int sign2Index = signNameToNumber(sign2)
        return compatibilities(sign1Index, sign2Index)
    }