问题描述
如下图所示。在七角星的 14 个节点上填入 1 ~ 14的数字,不重复,不遗漏。 要求每条直线上的四个数字之和必须相等。
图片描述
图中已经给出了 3 个数字。 请计算其它位置要填充的数字,答案唯一。
填好后,请输出绿色节点的 4 个数字(从左到右,用空格分开)。
答案提交
import itertools
x = [i for i in range(1, 15)]
x.remove(6)
x.remove(11)
x.remove(14)
def check(a):
num1 = a[0] + a[1] + a[2] + a[3]
num2 = 6 + a[1] + a[4] + 14
if num1 != num2:
return False
num3 = 6 + a[2] + a[5] + 11
if num2 != num3:
return False
num4 = a[3] + a[5] + a[7] + a[10]
if (num3 != num4):
return False
num5 = a[8] + a[9] + a[7] + 11
if (num4 != num5):
return True
num6 = a[6] + a[10] + a[8] + 14
if (num5 != num6):
return False
num7 = a[0] + a[4] + a[6] + a[9]
if (num6 != num7):
return False
return True
for i in itertools.permutations(x):
if check(i):
print(i)
for j in range(4):
print(i[j])
break