Python/Project Euler/Problem 28/sol1.py

29 lines
501 B
Python
Raw Normal View History

2018-03-14 20:03:44 +00:00
from __future__ import print_function
2018-03-14 21:18:59 +00:00
from math import ceil
2018-03-14 20:03:44 +00:00
try:
xrange #Python 2
except NameError:
xrange = range #Python 3
2018-03-14 20:03:44 +00:00
def diagonal_sum(n):
total = 1
2018-03-14 21:18:59 +00:00
for i in xrange(1, int(ceil(n/2.0))):
odd = 2*i+1
even = 2*i
2018-03-14 20:03:44 +00:00
total = total + 4*odd**2 - 6*even
return total
if __name__ == '__main__':
import sys
if len(sys.argv) == 1:
print(diagonal_sum(1001))
else:
try:
n = int(sys.argv[1])
diagonal_sum(n)
except ValueError:
print('Invalid entry - please enter a number')