def challenge070(): limit = 10 ** 7 - 1 lowest = [None, limit, limit] for n, p in izip(xrange(limit, 1, -1), phi(limit)[:0:-1]): div = float(n) / p if div < lowest[1]: if isPermutation(n, p): lowest = [n, div] return lowest[0]
def challenge072(): limit = 1000000 return int(sum(phi(limit)) - 1)