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)
def is_goldbach_conjecture(num): return True if next((prime for prime in generate_prime_below(num - 2) if sqrt(0.5 * (num - prime)).is_integer()), False) != False else False
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 ------------------------------------------------ """
from ProjectEulerCommons.Base import * from ProjectEulerCommons.PrimeNumbers import generate_prime_below Answer( len( set([ a**2 + b**3 + c**4 for c in generate_prime_below(int((50000000 - 12)**0.25) + 1) for b in generate_prime_below(int((50000000 - c)**(1 / 3)) + 1) for a in generate_prime_below(int((50000000 - b - c)**0.5) + 1) if a**2 + b**3 + c**4 <= 50000000 ]))) """ ------------------------------------------------ ProjectEuler.Problem.087.py The Answer is: 1097343 Time Elasped: 8.729656219482422sec ------------------------------------------------ """
from ProjectEulerCommons.Base import * from ProjectEulerCommons.PrimeNumbers import generate_prime_below Answer(sum([n for n in generate_prime_below(2000000)])) """ ------------------------------------------------ ProjectEuler.Problem.010.py The Answer is: 142913828922 Time Elasped: 25.362140655517578sec ------------------------------------------------ """