根据我的任务,有一个三角形,我必须从顶部开始向下移动到相邻的数字,如下所示。我只允许向下和对角走路。我只能走过非PRIME NUMBERS。
triangle.txt
1
8 4
2 6 9
8 5 9 3
这是我的代码:
with open('triangle.txt', 'r') as file:
triangle = [[int(i) for i in line.split()] for line in file]
def is_prime(n):
if n < 2:
return False
if n == 2:
return True
for x in range(3, int(n ** 0.5) + 1, 2):
if n % x == 0:
return False
return True
def func(x, y):
if (x >= len(triangle)):
return 0
if (is_prime(triangle[x][y])):
return 0
else:
return triangle[x][y] + max(func(x + 1, y), func(x + 1, y + 1))
print(func(0, 0))
它打印&#34; 1&#34;。不行。我在哪里弄错了?我怎样才能解决这个问题? 我真的需要帮助。感谢。