aboutsummaryrefslogtreecommitdiffstats
path: root/collatz.py
diff options
context:
space:
mode:
Diffstat (limited to 'collatz.py')
-rw-r--r--collatz.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/collatz.py b/collatz.py
index 404a2ed..74d5e1e 100644
--- a/collatz.py
+++ b/collatz.py
@@ -1,24 +1,28 @@
-import PIL, math
+import PIL
+import math
-#Problem 14 Longest Collatz sequence
-#Note, a little slow, takes about 15 seconds.
-#There is probably a more efficient solution out there
+# Problem 14 Longest Collatz sequence
+# Note, a little slow, takes about 15 seconds.
+# There is probably a more efficient solution out there
chain = []
biggo = []
+
def collatz(seed):
- chain.append(seed)
- if(seed == 1): return 0
- if(seed%2 == 0):
- seed = seed/2
- else:
- seed = 3*seed +1
- collatz(seed)
+ chain.append(seed)
+ if(seed == 1):
+ return 0
+ if(seed % 2 == 0):
+ seed = seed/2
+ else:
+ seed = 3*seed + 1
+ collatz(seed)
+
-for n in range(1,pow(10,6)):
- collatz(n)
- if(len(chain)>len(biggo)):
- biggo = chain
- chain = []
+for n in range(1, pow(10, 6)):
+ collatz(n)
+ if(len(chain) > len(biggo)):
+ biggo = chain
+ chain = []
print(biggo)
-print("Has " + str(len(biggo)) +" numbers.")
+print("Has " + str(len(biggo)) + " numbers.")