collatz=lambda n: n/2 if is_even(n) else 3*n+1
def C(k):
i=0
while k!=1: k=collatz(k); i+=1
return i
print exists((2^n-1 for n in NN),lambda z: exists([1,..,z],lambda y: z>y and C(y)>=C(z))[0])
print "C(9) =",C(9),"\nC(15) =",C(15)
|
|
(True, 15)
C(9) = 19
C(15) = 17
(True, 15)
C(9) = 19
C(15) = 17
|