- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于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)||(a0)||(a10)||(b0)||(b10)||(c0)||(c10)||(d0)||(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、 输入数据计算。
流程图:
源代码:
#includestdio.h
int 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((a0)||(a10)||(b0)||(b10)||(c0)||(c10)||(d0)||(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=24\n,x,y,z,w);
else if (x+y+z-w==24) printf(%.0f+%.0f+%.0f-%.0f=24\n,x,y,z,w);
else if ((x+y)*(z+w)==24) printf((%.0f+%.0f)*(%.0f+%.0f)=24\
您可能关注的文档
- 共青团工作会主持词.doc
- 共青团文艺演出主持词.doc
- 共青团的性质以及意义.doc
- 共青团福建师范大学2009-2010学年.doc
- 关中奶山羊养殖技术.doc
- 关于###任班主任工作期间的评价意见.doc
- 关于03g101l图集的讲解.doc
- 关于2010年春晚反应的调查报告.doc
- 关于2011年度实验室资质认定专项监督检查情况的通报.doc
- 关于2016-2017学年沪东工学学院校级团委、学生会主要学生干部岗位公开选拔聘任的公告-副本.doc
- 2025年中国卧式滚贴自动贴标机数据监测研究报告.docx
- 2025年浙江杭州富阳投资发展有限公司下属子公司招聘15人笔试参考题库附带答案详解.docx
- 2025年中国合像水平仪数据监测研究报告.docx
- 2025年温州市大数据运营有限公司面向社会公开招聘工作人员1人笔试参考题库附带答案详解.docx
- 2025年中国复合钻数据监测研究报告.docx
- 2025年中国一氯甲烷数据监测报告.docx
- 2025年中国PE抗静电薄膜数据监测研究报告.docx
- 2025年中国多功能音视频终端数据监测研究报告.docx
- 2025年中国切割丝数据监测研究报告.docx
- 2025年中国三层粉料除铁器数据监测报告.docx
最近下载
- 综合管廊机电施工方案(总包安装分).docx
- 精品解析:重庆市开州区2023-2024学年七年级下学期期末质量监测历史试题(原卷版).docx VIP
- 实验6二阶电路响应的仿真.pdf VIP
- 青岛版八年级数学下册知识点归纳总结.pdf VIP
- 老码头拆除方案.doc VIP
- 一阶rc电路的暂态响应实验报告.doc VIP
- 2025广东广州市教育系统招聘公办中小学体育教练员18人笔试模拟试题及答案解析.docx VIP
- 2023-2024学年安徽省合肥市高新区八年级(下)期末物理试卷+答案解析.pdf VIP
- 跨学科融合:博物馆地理研学课程设计方案.docx VIP
- 财务比率公式汇总.doc VIP
文档评论(0)