Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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