author | Madhusudan.C.S <madhusudancs@gmail.com> |
Tue, 27 Oct 2009 19:25:25 +0530 | |
changeset 204 | 87f914f38ba1 |
parent 64 | 333092b68926 |
permissions | -rw-r--r-- |
def is_pow_2(n): bin_count = 0 while n > 0: if n % 2 == 1: bin_count += 1 if bin_count > 1: return False n /= 2 return bin_count == 1 def collatz_pow_2(n): if n == 1: return 4 if n == 2: return 4 collatz_pow_2 = [] while n > 2: print n, if is_pow_2(n): collatz_pow_2.append(n) if n % 2: n = n * 3 - 1 else: n /= 2 return max(collatz_pow_2) import sys collatz_pow_2(int(sys.argv[1]))