Thursday, 14 July 2011

Problem 14

Python solution

<pre class="brush: python">

n = 2

maxm = 1

while n < 1000000:

    k = n

    cnt = 0

    while k != 1:

        if k%2 == 0:

            k = k/2

        else:

            k = 3*k + 1

        cnt = cnt + 1

    if cnt > maxm:

        maxm = cnt

        num = n

    n = n + 1

    if n%100000 == 0:

        print n,

print num

</pre>