def check_concat_prime(*args): for i in range(len(args)): for j in range(i+1, len(args)): if not is_prime(int(str(args[i])+str(args[j]))) \ or not is_prime(int(str(args[j])+str(args[i]))): return False return True
def check_concat_prime(*args): for i in range(len(args)): for j in range(i + 1, len(args)): if not is_prime(int(str(args[i])+str(args[j]))) \ or not is_prime(int(str(args[j])+str(args[i]))): return False return True
def prime_cluster(rule, number): rule = int(rule) cluster = [number + rule * i for i in range(10)] count = sum(is_prime(i) for i in cluster) if count >= 8: print(count) for item in cluster: if is_prime(item): print(item) return count
def prime_cluster(rule, number): rule = int(rule) cluster = [number + rule * i for i in range(10)] count = sum(is_prime(i) for i in cluster) if count >= 8: print(count) for item in cluster: if is_prime(item): print(item) return count
def get_prime_pan(curr, min_num, digits_left): for perm in permutations(digits_left): num = int(''.join(perm)) if num <= min_num: continue if is_prime(num): pan_primes = tuple(curr) + (num, ) # print(pan_primes) pan_prime_sets.append(pan_primes)
def get_prime_pan(curr, min_num, digits_left): for perm in permutations(digits_left): num = int(''.join(perm)) if num <= min_num: continue if is_prime(num): pan_primes = tuple(curr) + (num, ) # print(pan_primes) pan_prime_sets.append(pan_primes)
def next_harshads(harshad_tuple): num_orig = harshad_tuple[0] harshads = [] for d in range(10): num = num_orig * 10 + d div, mod = divmod(num, digit_sum(num)) if mod == 0: harshads.append((num, is_prime(div))) return harshads
def get_prime(min_num, digits_left): digits_left_len = len(digits_left) min_size_len = len(str(min_num)) for i in range(min_size_len, digits_left_len // 2 + 1): for comb in combinations(digits_left, i): for perm in permutations(comb): num = int(''.join(perm)) if num <= min_num: continue if is_prime(num): yield num
def get_prime(min_num, digits_left): digits_left_len = len(digits_left) min_size_len = len(str(min_num)) for i in range(min_size_len, digits_left_len//2+1): for comb in combinations(digits_left, i): for perm in permutations(comb): num = int(''.join(perm)) if num <= min_num: continue if is_prime(num): yield num
def main(): N = 25 composites = [] for n in range(3, 1000000, 2): if n % 5 == 0 or is_prime(n): continue a_n = A(n) if (n-1) % a_n == 0: # print(n, a_n) composites.append(n) if len(composites) >= N: break print(sum(composites))
def main(): N = 25 composites = [] for n in range(3, 1000000, 2): if n % 5 == 0 or is_prime(n): continue a_n = A(n) if (n - 1) % a_n == 0: # print(n, a_n) composites.append(n) if len(composites) >= N: break print(sum(composites))
def check_concat_prime_against(old, new): for i in old: if not is_prime(int(str(i)+str(new))) \ or not is_prime(int(str(new)+str(i))): return False return True
def harshad_prime(num): return [num * 10 + d for d in [1, 3, 7, 9] if is_prime(num * 10 + d)]
def check_concat_prime_against(old, new): for i in old: if not is_prime(int(str(i)+str(new))) \ or not is_prime(int(str(new)+str(i))): return False return True