From d62ba829dc3a54edc46b7deb581dd244713393f5 Mon Sep 17 00:00:00 2001 From: mjfernez Date: Sun, 2 Dec 2018 19:12:42 -0500 Subject: add code --- collatz.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 collatz.py (limited to 'collatz.py') 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." -- cgit v1.2.3