• 您的位置我爱Aspx >> VC.Net >> 24点游戏的完全解决
  • 24点游戏的完全解决

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:52:29  关键字:
  • 1。void addNumber();很简单把选定的数字组合放入数组的偶数Index位置,操作符号在奇数的Index位置。 2。void addParenthesis();是加括号的函数,我的算法是只有当加减号在乘除号之前出现时候才加挂号。它内部又有一个移动拷贝数组 的内部小函数,很普通的了。 3。void displaySolution(ofstream& f);原本是屏幕输出,现在改为可以同时写结果入文件。 void display(bool succeed, ofstream& f) { void addNumber(); void addParenthesis(); void displaySolution(ofstream& f);}D. findSolution是真正的核心函数,我为了图省事,避免用树形结构,结果最后费尽心机,还是用数组实现了一个树形的存储,不过非常的笨拙。 1。先把第一与第二个数的四则运算结果存入临时数组total的0到四位,然后下面的一个数字与前一个结果就是接着存下去。也就是4的前n次幂的和。 2。total[second] = Operation[j -10](total[first], Operand[count+2]);这一句就是前一次的结果与下一个数字的四则运算。 3。我无法解决先除后乘为整数的结果判断,只好用精确值在0.01来判断。好像也还不错。
    if ((count==Number-3)&&fabs(total[second]-24)<0.01) { writeRecord(second); result = true; }
    bool findSolution(ofstream& f);E. writeRecord是findSolution的一个内部函数,目的是根据D3的判断来倒推出各个步骤的操作符号,我用了类似辗转除法,就是类似10进制转我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:没有了!
    下一篇:集群式数字监控应用模型研究(一)
  • 相关文章