aboutsummaryrefslogtreecommitdiffstats
path: root/collatz.py
blob: 10526104f0007c13eb3a0b7901fff80ead053384 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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."