def sum_primes_of_len(N, L): p = primes('lt', N) print 'N', N, '#primes', len(p) f = phi(N, p) print 'phi', f s = 0 for k, x in enumerate(long(x) for x in p): l = chain_len(f, x, L) if not (k % 10000): print x, l if l == L: s += x return s
""" ============================================================ http://projecteuler.net/problem=72 Consider the fraction, n/d, where n and d are positive integers. If nd and HCF(n,d)=1, it is called a reduced proper fraction. If we list the set of reduced proper fractions for d 8 in ascending order of size, we get: 1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8 It can be seen that there are 21 elements in this set. How many elements would be contained in the set of reduced proper fractions for d 1,000,000? ============================================================ """ from problem070 import phi if __name__ == "__main__": print sum(phi(1000001)[2:])