24点-code1
#include <iostream>
#include <string>
#include <cstdlib>
#include <cmath>
using namespace std; const double Threshold = 1E-;
const int CardsNumber=;
const int ResultValue = ;
double numbers[CardsNumber];
string result[CardsNumber]; bool Points24(int n)
{
if (n == )
{
if (fabs(numbers[] - ResultValue) < Threshold)
{
cout << result[] << endl;
return true;
}
else
{
return false;
}
}
for (int i = ; i < n; i++)
{
for (int j = i+; j < n; j++)
{
double a, b;
string expa, expb;
a = numbers[i];
b = numbers[j];
numbers[j] = numbers[n - ]; expa = result[i];
expb = result[j];
result[j] = result[n - ]; numbers[i] = a + b;
result[i] = "(" + expa + "+" + expb + ")";
if (Points24(n - ))
{
//cout << result[i]<<endl;
return true;
} numbers[i] = a - b;
result[i] = "(" + expa + "-" + expb + ")";
if (Points24(n - ))
{
return true;
} numbers[i] = b - a;
result[i] = "(" + expb + "-" + expa + ")";
if (Points24(n - ))
{
return true;
} numbers[i] = a * b;
result[i] = "(" + expa + "*" + expb + ")";
if (Points24(n - ))
{
return true;
} if (b)
{
numbers[i] = a/b;
result[i] = "(" + expa + "/" + expb + ")";
if (Points24(n - ))
{
return true;
}
}
if (a)
{
numbers[i] = b / a;
result[i] = "(" + expb + "/" + expa + ")";
if (Points24(n - ))
{
return true;
}
}
numbers[i] = a;
numbers[j] = b;
result[i] = expa;
result[j] = expb;
}
}
return false; }
int main()
{
int x;
for (int i = ; i < CardsNumber; i++)
{
cout << "the NO." << i << " number is: ";
cin >> x;
numbers[i] = x;
char buffer[];
itoa(x,buffer,);
result[i] = buffer;
}
if (Points24(CardsNumber))
cout << "Success" << endl;
else cout << "Fail" << endl;
return ;
}
24点-code1的更多相关文章
- 24 javascript best practices for beginner(only 23 finally)
原文是英文,链接: http://net.tutsplus.com/tutorials/JavaScript-ajax/24-JavaScript-best-practices-for-beginne ...
- 24、Nginx缓存web服务
通常情况下缓存是用来减少后端压力, 将压力尽可能的往前推, 减少后端压力,提高网站并发延时 1.缓存常见类型 服务端缓存 代理缓存, 获取服务端内容进行缓存 客户端浏览器缓存 Nginx代理缓存原理 ...
- Fedora 24中的日志管理
Introduction Log files are files that contain messages about the system, including the kernel, servi ...
- CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能
CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能 效果图 这是红宝书里的例子,在这个例子中,下述功能全部登场,因此这个例子可作为使用Compute Shader的典型 ...
- 【趣味分享】C#实现回味童年的24点算法游戏
一.24点游戏玩法规则效果展示 1.初始化界面 2.开始游戏界面 3.游戏超时界面 4.查看答案界面 5.答对界面 6.答错界面 7.计算表达式的验证界面 8.一副牌算完开始新一副牌界面 到这里24点 ...
- C#开发微信门户及应用(24)-微信小店货架信息管理
在前面微信小店系列篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及<C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试& ...
- [MySQL Reference Manual] 24 MySQL sys框架
24 MySQL sys框架 24 MySQL sys框架 24.1 sys框架的前提条件 24.2 使用sys框架 24.3 sys框架进度报告 24.4 sys框架的对象 24.4.1所有sys下 ...
- mysql 5.6.24安装实例
安装前准备工作: 1)编辑PATH路径 vim /etc/profile PATH=/home/mysql/bin:/home/mysql/lib:$PATH export PATH 2)生效PATH ...
- C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
随机推荐
- pandas数据清洗
1.我已安装好Anavonda3.5.所以我只用打开"jupyter notebook",然后打开浏览器 然后点击右侧的“new",然后打开python3
- es第四篇:Query DSL
Query and filter context Match All Query 最简单的search请求,匹配所有文档,文档的_score值都是1,示例: get twitter/_search{ ...
- MySQL 查询结果分组 group by
[group by {col_name | position} [ASC | DESC ]] 分组条件 [HAVING where_condition] HAVING 后面的条件必须出现在select ...
- PHP设置时区
<?php//设置默认的时区date_default_timezone_set('Asia/Shanghai');//输出1396193923对应的日期echo date("Y-m-d ...
- Tensorflow样例代码分析cifar10
github地址:https://github.com/tensorflow/models.git 本文分析tutorial/image/cifar10教程项目的cifar10_input.py代码. ...
- unity换装系统+网格合并
这里的做法是模型把所有衣服全部穿上作为一个资源 然后还有一个只有骨骼信息的骨架资源 将这2个制作好了Prefab 模型部件数据 资源数据 [代码] using System.Collections; ...
- Java ArrayList trimToSize()
前几天看了Java ArrayList,没有明白trimToSize()这个方法是什么意思,所以看了一下源码并且debug一下自己的一个例子,明白了其中的含义.贴在这里. ArrayList al = ...
- h5移动端设置键盘搜索
点击键盘上的搜索按钮实现页面跳转 <form action="#list?goods_title={{message?message:''}}" @submit.preven ...
- golang获取变量数据类型
如果某个函数的入参是interface{},有下面几种方式可以获取入参的方法: 1 fmt: import "fmt" func main() { v := "hello ...
- 《MySQL 基础课程》笔记整理(进阶篇)(未完)
一.MySQL服务安装及命令使用 安装过程就不写了,毕竟百度经验一大把 MySQL 官方文档 MySQL 参考手册中文版 1.MySQL简介 RDBMS(Relational Database M ...