示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#5
0
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)
示例#6
0
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)
示例#7
0
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
示例#8
0
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
示例#9
0
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
示例#10
0
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))
示例#11
0
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))
示例#12
0
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
示例#13
0
def harshad_prime(num):
    return [num * 10 + d for d in [1, 3, 7, 9] if is_prime(num * 10 + d)]
示例#14
0
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