我正在寻找完成以下任务的最佳方法:
在1和9之间给出4个不可重复的数字 给出1到6之间的2个数字。
加上两个数字(1到6),检查是否有办法使用四个不可重复的数字(1到9)制作相同的数字,加上你甚至可能不必使用所有四个数字
实施例
您的四个不可重复(1到9)数字是:2,4,6和7
您在1和6之间的两个数字是:3和3
这两个数字的总和是3 + 3 = 6.
查看四个不可重复的(1到9)数字,你可以用两种不同的方式制作一个6:
2 + 4 = 6
6 = 6
所以,这个例子返回“是的,有一个可能的解决方案”。
如何以最有效,最干净的方式完成此任务,算法结合。
答案 0 :(得分:0)
在这里输入代码因为这里的元素数量是4所以我们不应该担心效率。 只需循环0到15并将其用作位掩码,以检查可生成的有效结果。 这是python中的一个代码,可以为您提供想法。
a = [2,4,6,7]
for i in range(16):
x = i
ans = 0
for j in range(4):
if(x%2):
ans += a[j]
x /= 2
print ans,
0 2 4 6 6 8 10 12 7 9 11 13 13 15 17 19