diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-08-11 18:42:52 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-08-11 18:42:52 +0200 |
| commit | 7b624de8e3e3637a07364f992c1d7e4185e4a872 (patch) | |
| tree | fdb9b0c3f9185b267f9f7bfb9cb4b0e4cdd8cc16 /python/14-longest_collatz_sequence.py | |
| download | project_euler-7b624de8e3e3637a07364f992c1d7e4185e4a872.tar.gz project_euler-7b624de8e3e3637a07364f992c1d7e4185e4a872.tar.bz2 project_euler-7b624de8e3e3637a07364f992c1d7e4185e4a872.zip | |
initial commit
Diffstat (limited to 'python/14-longest_collatz_sequence.py')
| -rw-r--r-- | python/14-longest_collatz_sequence.py | 16 |
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) |
