Facebook
From Sohrab Yavarzadeh, 3 Years ago, written in Python.
This paste is a reply to developer from Sohrab Yavarzadeh - view diff
Embed
Download Paste or View Raw
Hits: 188
  1. def is_prime(num):
  2.     if num == 1:
  3.         return False
  4.     if num == 2:
  5.         return True
  6.     if num > 2:
  7.         # check for factors
  8.         for i in range(2, num):
  9.             if (num % i) == 0:
  10.                 return False
  11.  
  12.         return True
  13.  
  14.     # if input number is less than
  15.     # or equal to 1, it is not prime
  16.     else:
  17.         return True
  18.  
  19.  
  20. def primeRemover(tri, m, n):
  21.     for i in range(0, m+1):
  22.         for j in range(0, n+1):
  23.             if is_prime(tri[i][j]):
  24.                 tri[i][j] = 0
  25.     # print(tri)
  26.     return tri
  27.  
  28.  
  29. def maxPathSum(tri, m, n):
  30.  
  31.     # loop for bottom-up calculation
  32.     for i in range(m - 1, -1, -1):
  33.         for j in range(i + 1):
  34.  
  35.             # print(tri)
  36.             if (tri[i + 1][j] > tri[i + 1][j + 1]):
  37.                 tri[i][j] += tri[i + 1][j]
  38.             else:
  39.                 tri[i][j] += tri[i + 1][j + 1]
  40.  
  41.     return tri[0][0]
  42.  
  43.  
  44.  
  45. print('Enter the height of the pyramid:')
  46. h = input()
  47. tri = [[0 for x in range(int(h))] for y in range(int(h))]
  48. print(tri)
  49. for x in range(0, int(h)):
  50.     for y in range(0, x+1):
  51.         print('Enter your number in ['+str(x)+','+str(y)+']:')
  52.         p = input()
  53.         tri[x][y] = int(p)
  54.  
  55. print(tri)
  56.  
  57. edited_tri = primeRemover(tri, int(h)-1, int(h)-1)
  58. sum = maxPathSum(edited_tri, int(h)-1, int(h)-1)
  59. print(sum)