diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:21:45 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2014-08-31 20:35:09 +0200 |
| commit | 95341b61b030c9e1290f3b326cb7ec584f543aea (patch) | |
| tree | 852386fa04d32eb859bca11c0eff7b5ef9e50f00 /011.py | |
| parent | 571164d977f91925c4c76a292f74f5f93d09ae23 (diff) | |
Diffstat (limited to '011.py')
| -rw-r--r-- | 011.py | 50 |
1 files changed, 50 insertions, 0 deletions
@@ -0,0 +1,50 @@ + +numbers = [] + +f = open('011.txt', 'r') +for line in f: + line.rstrip('\n') + line_str = line.split(' ') + line_int = [ int(x) for x in line_str ] + numbers.append(line_int) +f.close() + + +def find_down(): + max = 0 + for i in range(0, 17): + for j in range(0, 20): + product = numbers[i][j] * numbers[i+1][j] * numbers[i+2][j] * numbers[i+3][j] + if product > max: + max = product + return max + +def find_right(): + max = 0 + for i in range(0, 20): + for j in range(0, 17): + product = numbers[i][j] * numbers[i][j+1] * numbers[i][j+2] * numbers[i][j+3] + if product > max: + max = product + return max + +def find_diagonal1(): + max = 0 + for i in range(0, 17): + for j in range(0, 17): + product = numbers[i][j] * numbers[i+1][j+1] * numbers[i+2][j+2] * numbers[i+3][j+3] + if product > max: + max = product + return max + +def find_diagonal2(): + max = 0 + for i in range(0, 17): + for j in range(0, 17): + product = numbers[i][19-j] * numbers[i+1][18-j] * numbers[i+2][17-j] * numbers[i+3][16-j] + if product > max: + max = product + return max + +print max(find_down(), find_right(), find_diagonal1(), find_diagonal2()) + |
