author | rivermaker@RivermakerMBP.local |
Tue, 27 Oct 2009 16:05:37 +0530 | |
changeset 192 | 1574b3bc6be7 |
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]))