三角形中的最大总和但是具有非素数

时间:2018-04-13 11:18:19

标签: python function recursion pascals-triangle

根据我的任务,有一个三角形,我必须从顶部开始向下移动到相邻的数字,如下所示。我只允许向下和对角走路。我只能走过非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;。不行。我在哪里弄错了?我怎样才能解决这个问题? 我真的需要帮助。感谢。

0 个答案:

没有答案