一个 friend 分享了这个难题:
两天后,我最终在纸上解决了问题。毫无疑问,一台计算机可以在一秒钟内强行破解所有解决方案。
怎么会我尝试生成所有字符串a.b.c.d
,并在其中插入字母数字和点运算符,但是错过了我的解决方案。
奖励难题:
最佳答案
一个明显的方法可能是:
S
开始:S = ( 1, 5, 6, 7 )
a
中选择任意两个数字b
和S
,从S
中删除它们a
和b
应用任意算术运算,从而获得新的数字c
(注意避免被零除,并在问题需要时验证精确除法)c
包含在S
中,从而获得S'
S'
代替S
在步骤2(选择两个数字)和步骤3(选择操作)中执行蛮力分支。应该重复该循环,直到
S
减少到只有1个元素为止,这是该特定蛮力分支的结果。方括号未明确使用,但隐式存在。
如果一个分支以
21
中的S
结尾,则您有一个解决方案,此时可以终止,也可以继续分支以搜索其他解决方案。关于algorithm - 如何用暴力破解算术难题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29353375/