一、内容
24点游戏是经典的纸牌益智游戏。
常见游戏规则:
从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。
基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。
1.程序风格良好(使用自定义注释模板)
2.列出表达式无重复。
二、步骤
1、算法分析
(1)随机生成4个纸牌(数字),输出中将1、11、12、13分别用A、J、Q、K代替。
(2)采用穷举法,列举出四个数字的排列情况,以及四个运算符的排列情况。利用二维数组operator[24][4]列举出24种数字的组合情况,利用for循环结构循环查找每一个数字组合中符合最后结果等于24的运算符组合方式。实现这一要求,需要利用利用四个for循环。
(3)每种数字组合都默认优先级从第一位开始,相当与第一位和第二位现进行运算,其运算结果在于第三位进行运算,最后上面运算结果在与第四位进行运算。即满足((a#b)#c)#c。