24点游戏算法与优化.pdfVIP

  • 6
  • 0
  • 约7.55千字
  • 约 9页
  • 2026-03-12 发布于北京
  • 举报

游戏之乐_1.16_24点游戏

问题描述

给玩家4每的面值在1-13之间,允许其中有数值相同

的牌,采用加、减、乘、除四则运算,允许中间运算存在小数,并且

可以使用括号,但每只能用一次。构造表达式,使其结果为24.

解决方案

穷举法,穷举所有可能的情况(运算符、数字和括号的所有排列组

合形式)。

例如:有四个数ABCD,则可能的情况有:A+B*C-D(A+B)*C-D

(A+B)*(C-D)等等各种情况。

怎么穷举呢?可以这样:

先把四个数存放到数组中,选取两个数,进行各种运算,并保存

结果(运算结果保存到原数组,计算式子保存到一个字符数组中),这

样数组中就只有3个数了,又选两个进行各种运算,这样下去,当得

到结果为24时,就输出字符数组中保存的计算式。

C源码见代码1所示:C++源码见代码2所示:

优化

可以根据加法交换律和乘法交换律,进行简单的优化。如:A+B

和B+A的结果一样,就只需要对其中一个进行计算就行了,因此在

A+B(A*B)运算时,加一个条件

文档评论(0)

1亿VIP精品文档

相关文档