今天又是被卷的一天,回看这篇博客,觉得自己好蠢
题目描述
如下图所示六角形中,填入 11 ~ 1212 的数字。使得每条直线上的数字之和都相同。
图中,已经替你填好了 33 个数字,请你计算星号位置所代表的数字是多少?
思路
很明显的一道排列组合问题,通过不同的填写顺序,最后的到需要的组合
需要注意的是一共有六条直线,切每条直线上数字之和是相等的。如果要将六条线的和加在一起,每个数字都将被使用两次,所以可以求出每条线的和是多少。
省略代码,结果为 26
之后我们就可以使用排列组合求解了,此处我用的笨方法,用空间换时间,通过八个for循环加判断
nums_1=[2,4,5,6,7,9,10,11,12]
nums_2=[]
nums_3=[]
nums_4=[]
nums_5=[]
nums_6=[]
nums_7=[]
nums_8=[]
nums_9=[]
for i_1 in range(len(nums_1)):
num_1=nums_1[i_1]
nums_2.clear()
for i in