



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于24点游戏的编程思路与基本算法设计思路: 在算24点时候,我的第一反应便是穷举法!在算24点时候,我的思路就是列出4个数字加减乘除的各种可能性,包括括号的算法。我们可以将表达式分成以下几种:首先我们将4个数设为a,b,c,d,其中算术符号有+,-,*,/,。其中有效的表达式有a,ab-cd,等等。列出所有有效的表达式。其中我们用枚举类型将符号定义成数字常量,比如用1表示+,2表示-等。如下是我对穷举法的一种编程语言。在编程的头部要对变量做下定义。 在输入数字前我做了定义,因为题目规定是1-10内不相同的数字。所以我就想到了if的判断语句来写此句话。即if(a=b)|(a=c)|(a=d)|(b=c)|(b=d)|(c=d)|(a10)|(b10)|(c10)|(d10)则输入非法。当输入合法时,我就在想,4个数都有各自的排列,所以运用数学的排列组合来算的的,分别是A44=24种组合,打个比方,我入、输入a,b,c,d,那么就有abdc,badc,bacd等24种不同的组合,在这里我就不一一列举,在源代码当中我会一一写在程序里。 在运算时,我开始想,得从括号分类起,有零括号的,一个括号的,两个括号的。以下是表达式,当然,*并不是,*只是符号的统称。零个括号的:a*b*c*d。一个括号的:(a * b * c) * d,a * (b * c) * d。两个括号的:(a * b) * (c * d),(a * b) * c) * d,a * (b * c) * d接下来就是对每一种进行分析判断。以上就是穷举法的基本实现算法 首先穷举的可行性问题。我把表达式如下分成三类:1、 列出四个数的所有排序序列组合(共有A44=24种组合)。2、 构筑一个函数,列出所有运算表达式。3、 输入数据计算。流程图:输入四个数是否满足条件?否是先进行24种组合的排列。代入运算式中运算。能否输出24?否能输出不能组成24输出结果源代码:#includeint main(void) void jisuan(float x,float y,float z,float w);/声明函数 float a,b,c,d; fanhui: /做标记 printf(请输入4个数据n); printf( 第一个数:); scanf(%f,&a); printf( 第二个数:); scanf(%f,&b); printf( 第三个数:); scanf(%f,&c); printf( 第四个数:); scanf(%f,&d); printf(输出所有算法如下:n); if(a10)|(b10)|(c10)|(d10)|(a=b)|(a=c)|(a=d)|(b=c)|(b=d)|(c=d) printf(你输入的输入不对,重新输入n); goto fanhui;/ 返回标记,重复输入 / 以下是a .b.c.d 的所有排列组合情况 jisuan(a,b,c,d); jisuan(a,b,d,c); jisuan(a,c,d,b); jisuan(a,c,b,d); jisuan(a,d,b,c); jisuan(a,d,c,b); jisuan(b,a,c,d); jisuan(b,a,d,c); jisuan(b,c,a,d); jisuan(b,c,d,a); jisuan(b,d,c,a); jisuan(b,d,a,c); jisuan(c,a,b,d); jisuan(c,a,d,b); jisuan(c,b,d,a); jisuan(c,b,a,d); jisuan(c,d,a,b); jisuan(c,d,b,a); jisuan(d,a,b,c); jisuan(d,a,c,b); jisuan(d,b,c,a); jisuan(d,b,a,c); jisuan(d,c,a,b); jisuan(d,c,b,a); return 0;void jisuan(float x,float y,float z,float w) /运算表达式的所有情况 if (x+y+z+w=24) printf(%.0f+%.0f+%.0f+%.0f=24n,x,y,z,w); else if (x+y+z-w=24) printf(%.0f+%.0f+%.0f-%.0f=24n,x,y,z,w); else if (x+y)*(z+w)=24) printf(%.0f+%.0f)*(%.0f+%.0f)=24n,x,y,z,w); else if (x-y)*(z+w)=24) printf(%.0f-%.0f)*(%.0f+%.0f)=24n,x,y,z,w); else if (x-y)*(z-w)=24) printf(%.0f-%.0f)*(%.0f-%.0f)=24n,x,y,z,w); else if (x+y+z)*w=24) printf(%.0f+%.0f+%.0f)*%.0f=24n,x,y,z,w); else if (x-y-z)*w=24) printf(%.0f-%.0f-%.0f)*%.0f=24n,x,y,z,w); else if (x+y-z)*w=24) printf(%.0f+%.0f-%.0f)*%.0f=24n,x,y,z,w); else if (x*y*z)/w=24) printf(%.0f*%.0f*%.0f)/%.0f=24n,x,y,z,w); else if (x*y)*(z+w)=24) printf(%.0f*%.0f)*(%.0f+%.0f)=24n,x,y,z,w); else if (x*y)*(z-w)=24) printf(%.0f*%.0f)*(%.0f-%.0f)=24n,x,y,z,w); else if (x*y)*z-w=24) printf(%.0f*%.0f)*%.0f-%.0f=24n,x,y,z,w); else if (x*y)*z+w=24) printf(%.0f*%.0f)*%.0f+%.0f=24n,x,y,z,w); else if (x*y*z*w=24) printf(%.0f*%.0f*%.0f*%.0f=24n,x,y,z,w); else if (x+y)+(z/w)=24) printf(%.0f+%.0f)+(%.0f/%.0f)=24n,x,y,z,w); else if (x+y)*(z/w)=24) printf(%.0f+%.0f)*(%.0f/%.0f)=24n,x,y,z,w); else if (x*y)+z+w=24) printf(%.0f*%.0f)+%.0f+%.0f=24n,x,y,z,w); else if (x*y)+z-w=24) printf(%.0f*%.0f)+%.0f-%.0f=24n,x,y,z,w); else if (x*y)-(z/w)=24) printf(%.0f*%.0f)-(%.0f/%.0f)=24n,x,y,z,w); else if (x*y)+(z/w)=24) printf(%.0f*%.0f)+(%.0f/%.0f)=24n,x,y,z,w); else if (x*y)-z-w=24) printf(%.0f*%.0f)-%.0f-%.0f=24n,x,y,z,w); else if (x*y)+(z*w)=24) printf(%.0f*%.0f)+(%.0f*%.0f)=24n,x,y,z,w); else if (x*y)-(z*w)=24) printf(%.0f*%.0f)-(%.0f*%.0f)=24n,x,y,z,w); else if (x*y)/(z*w)=24) printf(%.0f*%.0f)/(%.0f*%.0f)=24n,x,y,z,w); else if (x*y)/(z-w)=24) printf(%.0f*%.0f)/(%.0f-%.0f)=24n,x,y,z,w); else if (x*y)/(z+w)=24) printf(%.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津交通职业学院《英文课程》2023-2024学年第一学期期末试卷
- 沈阳体育学院《中外名画欣赏》2023-2024学年第一学期期末试卷
- 湖南幼儿师范高等专科学校《足球教学与实践》2023-2024学年第一学期期末试卷
- 邵阳学院《生物医学伦理》2023-2024学年第一学期期末试卷
- 参加培训后的总结与反思
- 智能制造中的工艺优化与预测维护研究
- 甘肃钢铁职业技术学院《韩国语言与文化》2023-2024学年第一学期期末试卷
- 沈阳城市建设学院《现代物流学》2023-2024学年第一学期期末试卷
- 大连医科大学《医药大数据处理技术》2023-2024学年第一学期期末试卷
- 宣城职业技术学院《基础缅甸语》2023-2024学年第一学期期末试卷
- 2025年北京市第一次普通高中学业水平合格性考试历史试题(含答案)
- 苏教版-数学二年级下册-期末试卷10套
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 华北理工环境监测教案02水和废水监测-4金属化合物-铝、汞、镉、铅、铜、锌、铬、砷等测定
- 气污染源自动监控设施台账记录模版校准记录
- JJF 1169-2007汽车制动操纵力计校准规范
- 新高考高中物理竞赛专题1力学50题竞赛真题强化训练原卷版
- 2023年成都市成华发展集团有限责任公司招聘笔试模拟试题及答案解析
- 晒纹资料大全
- 山东省泰安市2021-2022学年高一下学期期末考试数学试题(Word版含答案)
- ××团支部换届选举选票
评论
0/150
提交评论