def truncatable(n): left = str(n) right = str(n) while left != "": if not is_prime(int(left)): return False left = left[1:] while right != "": if not is_prime(int(right)): return False right = right[:-1] return True
def test_seq(n): for x in range(0,3): seq_term = guess + x * seq_len print(seq_term) if not is_permutation(seq_term, guess) and not is_prime(seq_term): print("hello") break elif x == 2: return int(str(guess) + str(guess + seq_len) + str(guess + 2 * seq_len))
def solve(): primes = [2] guess = 3 while True: if is_prime(guess): primes.append(guess) elif not sum_prime_twice_square(guess, primes): return guess guess += 2
def solve(): counter = 1 nat = 1 while(counter < 10001): nat = nat + 2 if is_prime(nat): counter = counter + 1 return nat
def solve(): for guess in range(1488,10000): # checked in testing that it's not before 1487 for seq_len in range(1,9999): if guess + 2 * seq_len > 9999: break for x in range(0,3): seq_term = guess + x * seq_len if not is_permutation(seq_term, guess) or not is_prime(seq_term): break elif x == 2: return int(str(guess) + str(guess + seq_len) + str(guess + 2 * seq_len))
def solve(): greatest = 0 for a in range(-1000, 1000): for b in range(-1000, 1000): n = 0 while is_prime(n ** 2 + a * n + b): n = n + 1 if n > greatest: greatest = n best_a = a best_b = b return best_a * best_b
def solve(): best_case = '987654321' # 9 digit pandigital would be ideal while best_case != '': guess_perms = sorted([int(''.join(p)) for p in permutations(best_case)], reverse = True) # find all pandigitals for guess in guess_perms: if is_pandigital(guess, len(best_case)) and is_prime(guess): return guess else: guess -= 1 best_case = best_case[1:] # truncate if we give up on this many digits
def primes_below(n): total = 2 for x in xrange(3, n, 2): if is_prime(x): total = total + x return total
def all_rotations_prime(n): for x in rotations(n): if not is_prime(x): return False return True