Facebook
From Sohrab Yavarzadeh, 3 Years ago, written in Python.
This paste is a reply to developer from Sohrab Yavarzadeh - go back
Embed
Viewing differences between developer and developer
def is_prime(num):
    if num == 1:
        return False
    if num == 2:
        return True
    if num > 2:
        # check for factors
        for i in range(2, num):
            if (num % i) == 0:
                return False

        return True

    # if input number is less than
    # or equal to 1, it is not prime
    else:
        return True


def primeRemover(tri, m, n):
    for i in range(0, m+1):
        for j in range(0, n+1):
            if is_prime(tri[i][j]):
                tri[i][j] = 0
    print(tri)
    return tri
tri


def maxPathSum(tri, m, n):

    # loop for bottom-up calculation
    for i in range(m - 1, -1, -1):
        for j in range(i + 1):

            # print(tri)
            if (tri[i + 1][j] > tri[i + 1][j + 1]):
                tri[i][j] += tri[i + 1][j]
            else:
                tri[i][j] += tri[i + 1][j + 1]

    return tri[0][0]



print('Enter the height of the pyramid:')
h = input()
tri = [[0 for x in range(int(h))] for y in range(int(h))]
print(tri)
for x in range(0, int(h)):
    for y in range(0, x+1):
        print('Enter your number in ['+str(x)+','+str(y)+']:')
        p = input()
        tri[x][y] = int(p)

print(tri)

edited_tri = primeRemover(tri, int(h)-1, int(h)-1)
sum = maxPathSum(edited_tri, int(h)-1, int(h)-1)
print(sum)