aboutsummaryrefslogtreecommitdiff
path: root/python/14-longest_collatz_sequence.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/14-longest_collatz_sequence.py')
-rw-r--r--python/14-longest_collatz_sequence.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/python/14-longest_collatz_sequence.py b/python/14-longest_collatz_sequence.py
new file mode 100644
index 0000000..e3c3caa
--- /dev/null
+++ b/python/14-longest_collatz_sequence.py
@@ -0,0 +1,16 @@
+from itertools import count
+
+
+def collatz_sequence_size(nb):
+ for i in count(1):
+ if nb == 1:
+ return i
+ nb = (nb / 2) if nb % 2 == 0 else (nb * 3 + 1)
+
+max_nb = (1, 0)
+for nb in range(1, 1_000_000):
+ col_seq_size = collatz_sequence_size(nb)
+ if col_seq_size > max_nb[1]:
+ max_nb = nb, col_seq_size
+
+print(max_nb)