一个算24点的程序
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/program/24_point_program.html
递归用好了是一种艺术,用不好是一种灾难,这个程序递归用的我觉得还挺好的。
#include
#include
#include
#include
using namespace std;
const double PRECISION = 1E-6;
const int COUNT_OF_NUMBER = 4;
const int NUMBER_TO_BE_CAL = 24;
double number[COUNT_OF_NUMBER];
string expression[COUNT_OF_NUMBER];
bool Judgement = false; //判断是否有解。
int count = 0;
void Search(int n)
{
if (n==1) {
if (fabs(number[0] - NUMBER_TO_BE_CAL) <= PRECISION) { //对于除法,要小心小数的精确位数
cout <>number[i];
itoa(number[i], buffer, 10);
expression[i] = buffer;
}
cout <