2010 = 1+2-(3-4-5)*6*7*8-9

crazyinsomnia 发布于 2010/02/04 22:37
阅读 750
收藏 1

这是一个数字游戏,使用123456789,并按照123456789的顺序,使用加减乘除以及括号,进行操作使其结果等于2010(原来的游戏是使其值为100,请看这里),那么会有多少种解法呢?下面是924种解法,其让我想起了“24点游戏”。

这里,如果让你写一段程序来生成所有的可能,你知道怎么写这段程序吗?
使用单个数

2010 = 1+2-(3-4-5)*6*7*8-9
2010 = 1-(2+(3-4-5)*6*7)*8+9
2010 = 1+2+(3+4*(5+6*7+8))*9
2010 = 1+2*(3*4*(5+6)-7)*8+9
2010 = 1*2*3*(4*(5*6+7*8)-9)
2010 = 1+2+(3+4*(5-6+7*8))*9
2010 = (1-2-3+4*(5/6+7*8))*9
2010 = (1+2+3*4)*(5-6+(7+8)*9)
2010 = 1+2+((3*(4+5)+6)*7-8)*9
2010 = (1+2+3)*(4*(5*6+7*8)-9)
2010 = 1+2+3*(4*(5+6)*(7+8)+9)
2010 = (1*2/3)*((4+5)*6*7*8-9)
2010 = (1-2-3)*((4+5)/6-7*8*9)
2010 = (1*2+(3-4*(5/6-7))*8)*9
2010 = 1*(2+(3-4*(5/6-7))*8)*9
2010 = (1+2*(3+4))*(5-6+(7+8)*9)

使用多位数

2010 = 12*34*5-6-7-8-9
2010 = 12*34*5+6*7-8*9
2010 = 1+2345*6/7+8-9
2010 = 12-3*(4+5-678)-9
2010 = 123*4*5-(6*7+8)*9
2010 = 1+2-3*(4*5*6-789)
2010 = 123*4*5+(6-7*8)*9
2010 = 12*34+(5+6+7)*89
2010 = 12*3*45+6*(7*8+9)
2010 = 12+3*(4-5+67+8)*9
2010 = (12-3)*4*56-7-8+9
2010 = 12-(3-4*56+7-8)*9
2010 = (1*2+34)*56-7-8+9
2010 = 1*(2+34)*56-7-8+9
2010 = 12*3*45-6*(7-8*9)
2010 = 1+2*(34*5*6-7)-8-9
2010 = 1+2-(3-45+6)*7*8-9
2010 = 1*2*3*(45*6+7*8+9)
2010 = (1+2)*3*4*56-7-8+9

..................................

加载中
0
李剑
李剑

自己想的?太NB了!!!佩服...

0
抢小孩糖吃
抢小孩糖吃

这个算法怎么写?主要是判断括号,是使用遍历不?

0
l
lujun2000

具体的算法我没研究,但感觉如果考虑多位数的情况下要涉及到0-9的全排列的情况,恐怕不是一般的计算机能完成的。

0
守住每一天
守住每一天

妈呀。看着头就开始晕了。

0
gm
gm

好bt哟

0
返回顶部
顶部