非取巧找规律 完整获取杨辉三角变形详解
方法1:本人 python解

while True:
    try:
        n = int(input())
        if n <= 2:
            print(-1)
        L0 = []
        L1 = []
        for i in range(n):
            if i == 0:
                L0.append(1)
                L1 = []
            elif i == 1:
                L0 = [1]
                L1 = [1, 1, 1]
            else:
                L0 = list(L1)
                L1 = []
                m = len(L0) + 2
                for ii in range(m):
                    if ii == 0:
                        L1.append(L0[ii])
                    elif ii == 1:
                        L1.append(L0[ii - 1] + L0[ii])
                    elif ii == (m-1):
                        L1.append(1)
                    elif ii == (m - 2)and((m-2)>2):
                        L1.append(L0[-1] + L0[-2])
                    else:
                        L1.append(L0[ii - 2] + L0[ii - 1] + L0[ii])

        num = 0
        for pos in range(len(L1)):
            if L1[pos] %2 ==0:
                num = pos +1
                break
        if num == 0:
            print(-1)
        else:
            #print(L1)
            print(num)
    except:
        break

i 是 第i行。ii代表第ii列。
方法2:python

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

方法3:python 找规律
//杨辉三角规律 行号 第一个偶数在该行第几个
// 1 1 -1
// 1 1 1 2 -1
// 1 2 3 2 1 3 2
// 1 3 6 7 6 3 1 4 3
// 1 4 10 16 19 16 10 4 1 5 2
// 1 5 15 30 45 51 45 30 15 5 1 6 4
//

while True:
    try:
        n = int(raw_input())
        ans = -1
        if n <= 2:
            ans = -1
        elif n % 2 == 1:
            ans = 2
        elif n % 4 == 0:
            ans = 3
        else:
            ans = 4
        print ans
    except:
        break