PY
py
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
c=(0,0)
for n in range(500009,10**6,10):
x,d=n,0
while(n>1):
n=(n*3+1 if n%2 else n//2)
d+=1
if c[1]<d:c=(x,d)
print(*c)
'''
by changing the last digit in range start
1: 626331 508
3: 704623 503
5: 511935 469
7: 939467 506
9: 837799 524
Which starting number under one million produces the longest chain?
The following iterative sequence is defined for the set of positive integers
n -> n/2 (n is even)
n -> 3n+1 (n is odd)
Using the rule above and starting with 13
we generate the following sequence
13 40 20 10 5 16 8 4 2 1
It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms.
Although it has not been proved yet(collatz problem), it is thought that all starting numbers finish at 1.'''
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run