diff options
author | mjfernez <mjfernez@gmail.com> | 2020-02-09 15:16:26 -0500 |
---|---|---|
committer | mjfernez <mjfernez@gmail.com> | 2020-02-09 15:16:26 -0500 |
commit | 93ea7fe5957b62f18e8fbd17a21696bd7de6332d (patch) | |
tree | d90aed60d687bcf195f1150777f37cbe8a149814 /14-Longest-Collatz-Sequence/collatz.py | |
parent | 125ec5bc3d8bfc224b7d32bcfbbc37b9fb5d441f (diff) | |
download | Project_Euler_Solutions-93ea7fe5957b62f18e8fbd17a21696bd7de6332d.tar.gz |
Organized everything, update README
Diffstat (limited to '14-Longest-Collatz-Sequence/collatz.py')
-rw-r--r-- | 14-Longest-Collatz-Sequence/collatz.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/14-Longest-Collatz-Sequence/collatz.py b/14-Longest-Collatz-Sequence/collatz.py new file mode 100644 index 0000000..74d5e1e --- /dev/null +++ b/14-Longest-Collatz-Sequence/collatz.py @@ -0,0 +1,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.") |