首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

计算二十四点-利用二叉树原理

2013-11-08 
计算24点-利用二叉树原理问题描述80年代全世界流行一种数字游戏,在中国我们把这种游戏称为“24点”。现在我们

计算24点-利用二叉树原理

问题描述

80年代全世界流行一种数字游戏,在中国我们把这种游戏称为“24点”。现在我们
把这个有趣的游戏推广一下:您作为游戏者将得到4个不同的自然数作为操作数,
而您的任务是对这4个操作数进行适当的算术运算,您可以使用的运算只有:+,-,*,/,

您还可以使用()来改变运算顺序。注意:
所有的中间结果必须是整数,所以一些除法运算是不允许的(例如,(2*2)/4是
合法的,2*(2/4)是不合法的)
下面我们给出一个游戏的具体例子:

3,4,5,7

计算:
Step 1:? 3.0*4.0=12.0
Step 2:? 5.0+7.0=12.0
Step 3:? 12.0+12.0=24.0

请写出代码实现

?

?输出结果:
Round 1:
Step 1:? 3.0*4.0=12.0
Step 2:? 5.0+7.0=12.0
Step 3:? 12.0+12.0=24.0
Round 2:
Step 1:? 3.0*4.0=12.0
Step 2:? 7.0+5.0=12.0
Step 3:? 12.0+12.0=24.0
Round 3:
Step 1:? 3.0+5.0=8.0
Step 2:? 7.0-4.0=3.0
Step 3:? 8.0*3.0=24.0
Round 4:
Step 1:? 3.0+5.0=8.0
Step 2:? 7.0-4.0=3.0
Step 3:? 8.0*3.0=24.0
Round 5:
Step 1:? 3.0-7.0=-4.0
Step 2:? 4.0*5.0=20.0
Step 3:? 20.0--4.0=24.0
Round 6:
Step 1:? 3.0-7.0=-4.0
Step 2:? 5.0*4.0=20.0
Step 3:? 20.0--4.0=24.0

.......

很明显看出有很多是重复的,不知道哪位高手能优化一下。去除那些重复的。在这里谢谢了。

热点排行