ch def collatz start start while if in ch ch break if else ch start re

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
L=(0,0)
ch = {}
def collatz(start):
n = start
i=1
while n!=1:
if n in ch:
i += ch[n]
break
if n%2==0:
n=n/2
else:
n=3*n+1
i+=1
ch[start] = i
return i
for x in xrange(1,1000000):
f = collatz(x)
if f > L[1]:
L=(x,f)
print u'Число %d выдает цепочку в %d чисел' % (L[0], L[1])