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."
|