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)
예제 #2
0
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
예제 #3
0
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
------------------------------------------------
"""
예제 #4
0
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
------------------------------------------------
"""