aboutsummaryrefslogtreecommitdiffstats
path: root/collatz.py
diff options
context:
space:
mode:
Diffstat (limited to 'collatz.py')
-rw-r--r--collatz.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/collatz.py b/collatz.py
new file mode 100644
index 0000000..1052610
--- /dev/null
+++ b/collatz.py
@@ -0,0 +1,25 @@
+import PIL, math
+import numpy as np
+
+#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)
+
+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."