作者:王二
<blockquote cite="#commentbody-2869"> <strong><a href="#comment-2869" rel="nofollow">王二</a> :</strong> 用PHP写过算24点的 </blockquote> 代码看这里:http://code.google.com/p/24game/
View Article作者:gugaotianshi
表达式解析器? Lisp 之类的函数编程语言天生的。 不过,穷举所有表达式也不容易啊,主要是那个N对的括号- – ———– 我现在想到的是把 2010 分成两个数,即: 2010 = f(x,y) 如 2010 = 1 + 2009 之后再递归迭代 1 = f(x’,y’), 2009 = f(x”,y”)。 然后,每次迭代,都会尝试去求得 x 与 y 在即有条件下是否可以构造成功。...
View Article作者:古歌
<blockquote cite="#commentbody-2874"> <strong><a href="#comment-2874" rel="nofollow">chassic</a> :</strong> 我认为如果有使用表达式解析器,只要穷举所有表达式,依次计算。这种方法的话基本无难度 </blockquote>...
View Article作者:hecha
做了一个 python 的简单实现,处理了使用单个数的情况,结果中会有些重复 def f(n): if len(n) == 1: yield n[0], str(n[0]) else: for i in range(1, len(n)): nx, ny = n[:i], n[i:] for x, ex in f(nx): for y, ey in f(ny): yield x + y, ‘(‘ +...
View Article作者:wolfking
想了种方法,不懂可不可行… 随机生成数字之间的运算符号-> 判断合法性->判断表达式的值是否等于2010,相等就输出表达式。运行足够的时间应该是可以生成结果的吧
View Article作者:supersheep
遍历是一个指数复杂度的问题,“足够”的时间是不可能的。。。<a href="#comment-120202" rel="nofollow">@wolfking </a>
View Article