#!/usr/bin/env python
def spiral_sum(size):
a, d, sum, i = 2, 5, 0, 1
while i < (size**2) + 1:
d -= 1
if d == 0:
a, d = a + 2, 4
sum, i = sum + i, a + i
return sum
print "Spiral sum of 1001x1001 is", spiral_sum(1001)
För var fjärde iteration i spiralen ökar vi a med två och summerar de fyra hörnen och fortsätter tills vi summerat de båda diagonalerna.
uppdateras med ojämna mellanrum
4 mars 2009
Problem #28, Diagonal Sum of 1001x1001 spiral
Fem-minuters-lösning, hittade ett mönster som verkade stämma på pricken. Och det visade sig vara rätt. Länk till problemet här.
Prenumerera på:
Kommentarer till inlägget (Atom)
Andra
-
-
-
Ger Upp12 år sedan
-
-
Så enkelt 315 år sedan
-
Lediga dagar!15 år sedan
Om mig
- mlk
- Sundsvall, Sweden
Inga kommentarer:
Skicka en kommentar