aboutsummaryrefslogtreecommitdiffstats
path: root/collatz.py
blob: 74d5e1e9a89e30b64cde693a0c9bb1fe1f524310 (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
26
27
28
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
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.")