def circular_prime(limit=10**6): memo = set() non_circular_primes = set() for number in range(2, limit + 1): if not is_prime(number): continue number_d = deque(str(number)) p_list = list() for rotation in range(len(number_d)): number_d.rotate(1) if not is_prime(int("".join(number_d))): break else: memo.add(number) return memo
def circular_prime(limit=10**6): memo = set() non_circular_primes = set() for number in range(2, limit +1): if not is_prime(number): continue number_d = deque(str(number)) p_list = list() for rotation in range(len(number_d)): number_d.rotate(1) if not is_prime(int("".join(number_d))): break else: memo.add(number) return memo
def quadradict_formula(a, b): memo = (0, None, None) for a_coef in range(-1 * a, a): for b_coef in range(-1 * (b + 1), b + 1): counter = 0 n = 1 number = abs(n**2 + a_coef * n + b_coef) while number > 2 and is_prime(number): counter += 1 number = abs(n**2 + a_coef * n + b_coef) n += 1 if memo[0] < counter: memo = (counter, a_coef, b_coef) return memo
def quadradict_formula(a, b): memo = (0, None, None) for a_coef in range(-1*a, a): for b_coef in range(-1*(b+1), b+1): counter = 0 n = 1 number = abs(n**2 + a_coef*n + b_coef) while number > 2 and is_prime(number): counter += 1 number = abs(n**2 + a_coef*n + b_coef) n +=1 if memo[0] < counter: memo = (counter, a_coef, b_coef) return memo