def get_primes(limit): gen = gmath.gen_sieve_of_eratosthenes() primes = [] while True: p = gen.next() if p <= limit: primes.append(p) else: break return primes
def main(): gen = gmath.gen_sieve_of_eratosthenes() p = 0 result = 1 # gen.next() skips 2 while p < 1000000: p = gen.next() if g.is_circular_prime(p): result += 1 return result
def main(): result = 0 n = 600851475143 limit = int(n**0.5) gen = gmath.gen_sieve_of_eratosthenes() p = gen.next() while p < limit: if n % p == 0: result = p p = gen.next() return result
def main(): gen = gmath.gen_sieve_of_eratosthenes() p, primes = 1, [] while p < 10000: p = gen.next() p2 = p + 3330 p3 = p + 6660 if gmath.is_prime(p2) and gmath.is_prime(p3): if gmath.is_permutation(p, p2) and gmath.is_permutation(p, p3): primes.append([str(p), str(p2), str(p3)]) return int(''.join(primes[1]))