Untitled
unknown
plain_text
3 years ago
1.8 kB
5
Indexable
# This is a program written in Python3 from math import sqrt def isPrime(number): square_root = int(sqrt(number)+1) if number == 2: return True for i in range(2,square_root+1): if number % i == 0: return False return True # Script takes the triangle input as a constant in the code # The below triangle input is just an EXAMPLE and a PLACEHOLDER # Which means user must replace the below triangle with the actual input # AS STRUCTURED LIKE BELOW TRIANGLE=""" 1 8 4 2 6 9 8 5 9 3""" structured_triangle = [[int(num) for num in row.split()] for row in TRIANGLE.split("\n")] if structured_triangle[0] == []: structured_triangle = structured_triangle[1:] if structured_triangle[-1] == []: structured_triangle = structured_triangle[:-1] sums = [[structured_triangle[0]]] for i in range(len(structured_triangle)): if i == 0: continue sums.append([]) for j in range(len(structured_triangle[i])): if isPrime(structured_triangle[i][j]): sums[i].append([]) continue if j == 0: sums[i].append([num + structured_triangle[i][j] for num in sums[i-1][j]]) elif j == len(structured_triangle[i]) - 1: sums[i].append([num + structured_triangle[i][j] for num in sums[i-1][j-1]]) else: tmp_list = [] for num in sums[i-1][j]: tmp_list.append(num + structured_triangle[i][j]) for num in sums[i-1][j-1]: tmp_list.append(num + structured_triangle[i][j]) sums[i].append(tmp_list) final_sums = [] for row in sums[-1]: for num in row: final_sums.append(num) print(max(final_sums))
Editor is loading...