def is_truncatable_prime(n): if n in [2, 3, 5, 7]: return False numberlist = [int(str(n)[i:]) for i in range(1, len(str(n))) ] + [int(str(n)[:j]) for j in range(1, len(str(n)))] for n in numberlist: if not is_prime(n): return False return True
def generate_sum_of_primes(upperbound): primes_below = list(generate_prime_below(upperbound)) primes_below = primes_below[:first_true( count(0), pred=lambda i: sum(primes_below[i:i + 13]) > upperbound) + 13] len_primes_below = len(primes_below) for i in range(len_primes_below - 1): # i: start_index end_index_start = i + 15 if i != 0 else i + 14 for j in range(end_index_start, len_primes_below, 2): sum_primes = sum(primes_below[i:j]) if sum_primes < upperbound and is_prime(sum_primes): yield (sum_primes, j - i)
from ProjectEulerCommons.Base import * from ProjectEulerCommons.PrimeNumbers import generate_prime_below, is_prime def circulations(target_list): for i in range(len(target_list)): yield target_list[i:] + target_list[:i] Answer( quantify( generate_prime_below(1000000), lambda prime: first_true(islice( circulations(list(map(int, str(prime)))), 1, None), pred=lambda digitlist: not is_prime( joined_int(digitlist))) == False)) """ ------------------------------------------------ ProjectEuler.Problem.035.py The Answer is: 55 Time Elasped: 12.629229307174683sec ------------------------------------------------ """
def count_produced_prime_numbers(a, b): return first_true_index(generate_formula_value(a, b), pred=lambda enum: not is_prime(enum[1]))
from ProjectEulerCommons.Base import * from ProjectEulerCommons.PrimeNumbers import is_prime Answer( nth((''.join(map(str, [n, n + d, n + 2 * d])) for n in range(1487 + 2, 10000, 2) for d in range(2, int((10000 - n) * 0.5), 2) if is_prime(n) and is_prime(n + d) and is_prime(n + 2 * d) and sorted(str(n)) == sorted(str(n + d)) == sorted(str(n + 2 * d))), 0)) """ ------------------------------------------------ ProjectEuler.Problem.049.py The Answer is: 296962999629 Time Elasped: 8.519287586212158sec ------------------------------------------------ """
from ProjectEulerCommons.Base import * from ProjectEulerCommons.Factors import factorize from ProjectEulerCommons.PrimeNumbers import is_prime Answer(max([x for x in factorize(600851475143) if is_prime(x)])) """ ------------------------------------------------ ProjectEuler.Problem.003.py The Answer is: 6857 Time Elasped: 0.23537230491638184sec ------------------------------------------------ """