资源简介
实现了24点游戏的算法,只需输入4个数字就可以打印有多少种算出24点的方法
代码片段和文件信息
//////////////////////////////////////////////////////////////////////////
// 编程题目: 计算 24 点
// 编译环境: Visual C++ 6.0
// 程序设计: 廖增祥
//////////////////////////////////////////////////////////////////////////
#include
//////////////////////////////////////////////////////////////////////////
// Process: 计算处理过程 递归函数
// result [in] 当前计算结果
// a [in] 原始计算数据
// fuhao [in out] 要保存的符号数组
// nIndex [in] 当前递归所在层[0 - 2]
int Process(int result int *a char *fuhao int nIndex)
{
int temp;
// 1. 计算加法
temp = result + a[nIndex + 1];
fuhao[nIndex] = ‘+‘;
if(temp == 24 && nIndex == 2)
return 1;
if(nIndex < 2)
if(Process(temp a fuhao nIndex + 1))
return 1;
// 2. 计算减法
temp = result - a[nIndex + 1];
fuhao[nIndex] = ‘-‘;
if(temp == 24 && nIndex == 2)
return 1;
if(nIndex < 2)
if(Process(temp a fuhao nIndex + 1))
return 1;
// 3. 计算乘法
temp = result * a[nIndex + 1];
fuhao[nIndex] = ‘*‘;
if(nIndex != 0)
{
// 重新计算 temp 的值
if(fuhao[nIndex - 1] == ‘+‘)
{
temp = result - a[nIndex] + a[nIndex] * a[nIndex + 1];
}
else if(nIndex == 2 && fuhao[0] == ‘+‘ && (fuhao[1] == ‘*‘ || fuhao[1] == ‘/‘))
{
temp = result - (result - a[0]) + (result - a[0]) * a[nIndex + 1];
}
else if(fuhao[nIndex - 1] == ‘-‘)
{
temp = result + a[nIndex] - a[nIndex] * a[nIndex + 1];
}
else if(nIndex == 2 && fuhao[0] == ‘-‘ && (fuhao[1] == ‘*‘ || fuhao[1] == ‘/‘))
{
temp = result + (result - a[0]) - (result - a[0]) * a[nIndex + 1];
}
}
if(temp == 24 && nIndex == 2)
return 1;
if(nIndex < 2)
if(Process(temp a fuhao nIndex + 1))
return 1;
// 4. 计算除法
int bContinue = 1;
if(a[nIndex + 1] == 0)
return 0;
temp = result / a[nIndex + 1];
fuhao[nIndex] = ‘/‘;
if(nIndex != 0)
{
if(fuhao[nIndex - 1] == ‘+‘)
{
// 重新计算 temp 的值
if(a[nIndex + 1] && a[nIndex] % a[nIndex + 1] == 0)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-08 01:56 24point\
文件 5514 2013-11-07 01:50 24point\24point.cpp
文件 4296 2013-11-07 02:06 24point\24point.dsp
文件 520 2013-11-06 23:13 24point\24point.dsw
文件 41984 2013-11-08 01:55 24point\24point.ncb
文件 48640 2013-11-08 01:55 24point\24point.opt
文件 893 2013-11-07 01:50 24point\24point.plg
目录 0 2013-11-07 01:50 24point\Debug\
文件 184389 2013-11-07 01:50 24point\Debug\24point.exe
文件 215180 2013-11-07 01:50 24point\Debug\24point.ilk
文件 5710 2013-11-07 01:50 24point\Debug\24point.obj
文件 203736 2013-11-06 23:21 24point\Debug\24point.pch
文件 451584 2013-11-07 01:50 24point\Debug\24point.pdb
文件 33792 2013-11-07 01:50 24point\Debug\vc60.idb
文件 45056 2013-11-07 01:50 24point\Debug\vc60.pdb
- 上一篇:辅助防检测--进程隐藏
- 下一篇:[转]易语言|阿里妈妈自动登陆并保持登陆状态
相关资源
- Yen算法求前K短路
- 数据结构与算法考试复习试题和答案
- kuangbin的经典ACM算法模板几乎涵盖所有
- 旋转不变算法ESPRIT
- 多重信号分类MUSIC 算法
- wellner二值化算法
- 基于加汉宁窗的FFT高精度谐波检测改
- NSGA-II非支配排序算法
- 粒子群优化算法应用--函数最值问题求
- 复合形算法及流程图,很好的资料
- 自己写的运动目标检测算法汇总
- OpenCV基于分水岭图像分割算法
- 节拍探测算法
- 13种pso粒子群优化算法代码合集
- 各自块匹配算法的matalb代码附参考文
- Relief算法程序
- 基于L_系统的三维分形植物的算法及实
- LMS最小均方误差算法
- 基于广义互相关时延估计算法声源定
- K均值算法流程图
- 一种简单有效的手写体数字特征提取
- 小波加密算法
- 基于Fourier神经网络的图像复原算法
- CRC32校验码算法
- 人工鱼群算法仿真程序
- 颜色恒常性算法
- 山东大学操作系统实验八 磁盘移臂调
- 计算机图形学__Bresenham完整算法_画直
- BP神经网络算法原理和详细推导流程
- 利用混沌改进的和声搜索算法
评论
共有 条评论