设为首页 加入收藏

TOP

C++求24点算法
2014-11-01 09:15:07 来源: 作者: 【 】 浏览:53
Tags:24点 算法

  递归求24点算法:


  #include


  #include


  #include


  using namespace std;


  const double PRECISION = 1E-6;


  const int COUNT = 4;


  const int RESULT = 24;


  double number[COUNT]; //这里一定要用double,看看第一题的答案就知道为什么了


  string expression[COUNT]; //保存表达式


  bool Test(int n)


  {


  //递归结束


  if (n == 1)


  {


  if (fabs(number[0] - RESULT) < PRECISION)


  {


  cout << expression[0] << endl;


  return true;


  }


  else


  return false;


  }


  //递归过程


  for (int i = 0; i < n; i++)


  {


  for (int j = i + 1; j < n; j++)


  {


  double a, b;


  string expa, expb;


  a = number[i];


  b = number[j];


  number[j] = number[n - 1];


  expa = expression[i];


  expb = expression[j];


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇复杂表达式的执行步骤 下一篇C++循环链表的节点对换和删除

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: