一:题目要求
24点游戏是经典的纸牌益智游戏。
常见游戏规则:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。
基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。
1.程序风格良好(使用自定义注释模板)
2.列出表达式无重复。
提高要求:用户初始生命值为一给定值(比如3),初始分数为0。随机生成4个代表扑克牌牌面的数字或字母,由用户输入包含这4个数字或字母的运算表达式(可包含括号),如果表达式计算结果为24则代表用户赢了此局。
1. 程序风格良好(使用自定义注释模板)
2.使用计时器要求用户在规定时间内输入表达式,如果规定时间内运算正确则加分,超时或运算错误则进入下一题并减少生命值(不扣分)。
3.所有成绩均可记录在TopList.txt文件中。
二:题目算法分析
本题目的一种简单的解决办法就是应用穷举法搜索整个解空间,筛选出符合题目要求的全部解。关键问题在于如何列举出所有的情况:
首先我们思考拿到四个数字我们会两个数字一运算,用其结果再进行下一步运算。
我们就可以通过列举将问题抽象为以下几种情况
(1) ((AoB)oC)oD
(2) (Ao(BoC))oD
(3) Ao(Bo(CoD))
(4)
C语言实现24点
最新推荐文章于 2024-02-05 20:23:18 发布