Revision: 27075
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 21, 2010 10:40 by chroto
Initial Code
#!/usr/bin/python
# Project Euler - Problem 11
print "\nProject Euler - Problem 11"
print "In a 20x20 grid, find the greatest"
print "product of 4 adjacent numbers."
f = open("problem11.grid",'r')
x = []
ans = 0
beef = True
# Load data into 20x20 list
for m in xrange(20):
x.append([])
for n in xrange(20):
x[m].append(int(f.read(3)))
for m in xrange(16):
for n in xrange(16):
prod=[]
# Multiply Rows
prod.append(x[m][n] * x[m][n+1] * x[m][n+2] * x[m][n+3])
prod.append(x[m+1][n] * x[m+1][n+1] * x[m+1][n+2] * x[m+1][n+3])
prod.append(x[m+2][n] * x[m+2][n+1] * x[m+2][n+2] * x[m+2][n+3])
prod.append(x[m+3][n] * x[m+3][n+1] * x[m+3][n+2] * x[m+3][n+3])
# Multiply Columns
prod.append(x[m][n] * x[m+1][n] * x[m+2][n] * x[m+3][n])
prod.append(x[m][n+1] * x[m+1][n+1] * x[m+2][n+1] * x[m+3][n+1])
prod.append(x[m][n+2] * x[m+1][n+2] * x[m+2][n+2] * x[m+3][n+2])
prod.append(x[m][n+3] * x[m+1][n+3] * x[m+2][n+3] * x[m+3][n+3])
# Diagonals
prod.append(x[m][n] * x[m+1][n+1] * x[m+2][n+2] * x[m+3][n+3])
prod.append(x[m+3][n] * x[m+2][n+1] * x[m+1][n+2] * x[m][n+3])
if max(prod) > ans:
ans = max(prod)
print ans
Initial URL
Initial Description
Initial Title
Project Euler - Problem 11
Initial Tags
Initial Language
Python