def sqcubes(a, b): '''All sqcubes in [a,b].''' q_max = int_le((b / 4) ** (1. / 3.)) prime_list = primes('lt', max(q_max, int_le((b / 8) ** (1. / 2.))) + 1) return ((p, q, p ** 2L * q ** 3L) for q in list_in_range(prime_list, 2, q_max) for p in list_in_range(prime_list, max(2, int(ceil((a / q ** 3) ** 0.5))), int_le((b / q ** 3) ** 0.5)) if p != q)
def rad(N): """Return an array of rad(n), 0 <= n < N.""" r = np.ones((N,), dtype=np.uint64) for p in primes("lt", N): r[p::p] *= p return r.tolist()