def test_primes(): primes_list = itertools.takewhile(lambda x: x <= 100, math_ext.primes()) primes_list = list(primes_list) assert primes_list == [ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ]
def test_has_number_of_replaced_primes(): assert problem.has_number_of_replaced_primes(121313, 8) primes = math_ext.primes() p = next(primes) while p < 56003: assert not problem.has_number_of_replaced_primes(p, 7) p = next(primes) assert problem.has_number_of_replaced_primes(56003, 7)
def solve(): prime_pair_sets = [] for new_p in math_ext.primes(): for prime_pair_set in prime_pair_sets: if is_prime_pair_set(new_p, prime_pair_set): new_prime_pair_set = (new_p, ) + prime_pair_set if len(new_prime_pair_set) == 5: return sum(new_prime_pair_set) prime_pair_sets.append(new_prime_pair_set) prime_pair_sets.append((new_p, ))
def prime_decompose(x): if x == 1: return [1] factors = [] for p in math_ext.primes(): if p > x: break while x % p == 0: factors.append(p) x /= p return factors
def get_max_consecutive_prime_sum(threashold): primes = list(slice_seq(math_ext.primes(), 0, threashold)) start, end = 0, 1 for i in range(len(primes)): for j in range(i + end - start, len(primes)): p = sum(primes[i:j]) if p >= threashold: break if math_ext.is_prime(p): start, end = i, j return sum(primes[start:end])
def solve(): primes = itertools.takewhile(lambda x: x < 1000000, math_ext.primes()) circular_primes = [] for p in primes: circular_numbers = get_circular_numbers(p) if any([n % 2 == 0 for n in circular_numbers]): continue if min(circular_numbers) < p: continue if is_circular_prime(p): circular_primes += get_circular_numbers(p) return len(circular_primes)
def solve(): return sum(itertools.takewhile(lambda x: x <= 2000000, primes()))
def get_4_digit_primes(): primes = math_ext.primes() primes = itertools.dropwhile(lambda n: n < 1000, primes) primes = itertools.takewhile(lambda n: n < 10000, primes) return primes
def solve(): for p in math_ext.primes(): if has_number_of_replaced_primes(p, 8): return p
def get_truncable_primes(): return filter(is_truncatable_prime, math_ext.primes())
def solve(): index = 10001 index_th_prime_iter = itertools.islice(primes(), index - 1, index) index_th_prime = list(index_th_prime_iter)[0] return index_th_prime