- 题目描述
- 解法一
- 解题思路
- python代码
如下图所示。在七角星的 14 个节点上填入 1 ~ 14的数字,不重复,不遗漏。
要求每条直线上的四个数字之和必须相等。
图片描述
图中已经给出了 3 个数字。 请计算其它位置要填充的数字,答案唯一。
填好后,请输出绿色节点的 4 个数字(从左到右,用空格分开)。
将空白的11个空一次填空,并用数组a[11]表示
初始a = [1,2,3,4,5,7,8,9,10,12,13]
对a进行全排列找出满足条件的排列可能
最终结果如下
#七星填空,答案10 3 9 8 #(10, 3, 9, 8, 4, 5, 13, 2, 12, 1, 7) import itertools def check(a): num = [0]*7 num[0] = a[0]+a[1]+a[2]+a[3] num[1] = a[3]+a[4]+a[5]+a[6] num[2] = a[6]+a[7]+a[9]+14 num[3] = 14+a[10]+a[1]+6 num[4] = 6+a[2]+a[4]+11 num[5] = 11+a[5]+a[7]+a[8] num[6] = a[8]+a[9]+a[10]+a[0] for i in range(1,7): if num[i] != num[i-1]: return False return True if __name__ == '__main__': a = [1,2,3,4,5,7,8,9,10,12,13] for i in itertools.permutations(a): if check(i): #print(i) print(i[0],i[1],i[2],i[3]) break
运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)