看来看去大多是找规律的,如果找不到规律就凉凉了,这边完整用二维矩阵构建出杨辉三角变形,然后取最后一行遍历获得结果
while True: try: n = int(input()) res = - 1 #初始化结果为-1 l = [[0]*(2*n+1) for _ in range(n)] #以n行的长度创建二维矩阵,每行开头插入2个0 l[0][2] = 1 #第一行起始值为1(因开头插入了两个0,所以第三位为1) for x in range(1,n): #构造完整的杨辉三角矩阵 for j in range(2,2*(x+2)-1): l[x][j] = l[x-1][j-2]+l[x-1][j-1]+l[x-1][j] for i in range(len(l[n-1][2:])): #遍历杨辉三角矩阵最后一行,去掉开始插入的两个0 if int(l[n-1][2:][i])%2 == 0: #如果发现偶数,输入下标,并把答案res置为!=-1的值 print(i+1) res = 0 break if res == -1: #如果前面没有找到偶数,那么res还是初始值,输出即可满足题意 print(-1) except: break