Procházet zdrojové kódy

Number spiral diagonals

Adel Qalieh před 13 roky
rodič
revize
adc1465b3a
1 změnil soubory, kde provedl 18 přidání a 0 odebrání
  1. 18 0
      28.py

+ 18 - 0
28.py

@@ -0,0 +1,18 @@
+def main(by):
+	diagonal = (by+1)*0.5
+	print spiral(diagonal)
+
+def spiral(d):
+	if d == 1:
+		return 1
+	else:
+		downright = 4*d**2-10*d+7
+		downleft = 4*d**2-8*d+5
+		upleft = 4*d**2-6*d+3
+		upright = 4*d**2-4*d+1
+		diagonalsum = downright + downleft + upleft + upright
+		return diagonalsum + spiral(d-1)
+
+
+# Test
+main(1001)