def solve(): primes = 0 for i, n in enumerate(spiral(100000)): if is_prime(n): primes += 1 if primes / (i + 1) < 0.1 and i % 4 == 0 and primes > 0: return i // 2 + 1
def pandigitals(): # pandigitals of length 8 or 9 are divisible by 3 for length in range(1, 8): for perm in permutations('1234567'[:length]): n = int(''.join(perm)) if is_prime(n): yield n
def is_goldbach(n): return any(is_prime(n - 2 * i**2) for i in range(1, int(n**0.5)))
def solve(): return next(n for n in count(3, 2) if not is_prime(n) if not is_goldbach(n))
def is_goldbach(n): return any(is_prime(n - 2 * i ** 2) for i in range(1, int(n ** 0.5)))