我认为这是一个挑战:给定一定数量的单个数字,例如4个8,找到不能用标准运算(+, - ,*,/)和括号的任何组合计算的最小正整数。
我已经看了这两个帖子:Algorithm for permutations of operators and operands smallest integer not obtainable from {2,3,4,5,6,7,8} (Mathematica)
但我仍然不明白如何解决这个问题。第一个链接似乎是一些算法,您可以存储每个可以计算给定数字的数字,然后进行简单的查找。这种蛮力方法看起来似乎有点慢。
是否有可以使用的模式,我没有看到?我考虑过DP方法,但即使使用DP,你也必须尝试所有数字,操作数和括号的每一个组合,这似乎太慢了。通过第一个链接中给出的解决方案,您似乎正朝着指数化的方向前进。
因此,例如,如果您有4个不同的数字,则需要在等式中填写3个操作数。 N O N O N O N.每个操作数可以采用4个单独的值,因此您可以尝试4 * 4 * 4或4 ^ 3组合,这是指数级的。