以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。
数据范围:
本题有多组输入数据
输入描述:
输入一个int整数
输出描述:
输出返回的int值
示例1
输入:
4
2
复制
输出:
3
-1
没有时间修改 提交不过
花了很多时间写杨辉三角
python3执行
在这里插入代码片
def f(n):
L =[]
for i in range(n):
if i ==0:
L.append([1])
if i ==1:
L.append([1,1,1])
if i ==2:
L.append([1,2,3,2,1])
if i > 2:
m = []
for x in range(2*i +1):
if x == 0:
m.append(1)
if x == 1:
m.append(L[i-1][x]+L[i-1][x-1])
if x>1 and x <2*i -1:
m.append(L[i - 1][x - 2] + L[i - 1][x - 1]+L[i-1][x])
if x ==2*i-1:
m.append(L[i - 1][x-2] + L[i - 1][x - 1])
if x == 2*i:
m.append(1)
L.append(m)
return L
while True:
try:
n =int(input())
l = f(n)
l2 =l[n-1]
for x,y in enumerate(l2):
if y % 2==0:
print(x+1)
break
else:
print(-1)
except:
break