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,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
随机推荐
- 关于锚点定位,ul设置fixed后,div被覆盖一部分的问题
例如: 问题: 刚开始的时候 .ul是正常显示的,当页面的滚动条滚动到一定的高度是 ,ul就被设置为 position:fixed:那么 点击 li相对应div就会被 固定定位的ul覆盖住一部分. 解 ...
- JUnit快速入门
一.一个简单的Junit测试流程: 1.在项目中导入junit-4.7.jar包, 方法:右击项目,选择Build Path->Configure Build Path->Librarie ...
- 011-filter模板
1 模板一 package ${enclosing_package}; import java.io.IOException; import javax.servlet.FilterChain; im ...
- Git使用总结(一):简介与基本操作
一:简介 GIT是一个开源的分布式的版本控制系统,是由Linus 为了管理Linux内核开发而开发的一个开源的版本控制软件.相比SVN,它采用分布式版本库方式. 二:工作区,暂存区和版本库 左侧为工作 ...
- VS2008默认的字体居然是 新宋体
本人还是觉得 C#就是要这样看着舒服
- spring 3.0 整合redis
参考文章:https://blog.csdn.net/weixin_42184707/article/details/80361464 其中遇到了问题,第一,redis的xml配置文件中的,头部地址资 ...
- 巧用hover改变css样式和背景
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 入门Promise的正确姿势
Promise是异步编程的一种解决方案,从语法上说,Promise是一个对象,从它可以获取异步操作的消息. Promise的基本用法 Promise构造函数接受一个函数作为参数,该函数的两个参数分别是 ...
- bzoj 4709: [Jsoi2011]柠檬
Description Flute 很喜欢柠檬.它准备了一串用树枝串起来的贝壳,打算用一种魔法把贝壳变成柠檬.贝壳一共有 N (1 ≤ N ≤ 100,000) 只,按顺序串在树枝上.为了方便,我们从 ...
- Delphi下OpenGL2d绘图(02)-画点
一.前言 图形的绘制可以使用glBegin().glEnd()之间完成,绘制的框架代码可以使用 Delphi下OpenGL2d绘图(01)-初始化 中的代码.修改的部份为 Draw 函数的内容. 二. ...