Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

circular
prime
algorithm

What is a circular prime?

Educative Answers Team

A number is said to be a circular prime if all its possible rotations are also prime numbers.

svg viewer

Algorithm

  • First, divide the number into its digits.
  • Then, make all possible rotations with those digits.
  • Now, check whether or not each possible rotation is a prime number.

Code

In the code below, we have used the is_prime() method to check whether or not a number is prime. In order to get our new rotation, we simply get the last digit of the number and place it at the start.

# Function to check a number is a circular
# prime or not
# number is passed as a string, so number of
# digits is evaluated easily.
def is_circular_prime(number):
    i = remainder = value = total = 0
    digits = len(number)
    num = int(number)
    # Here we will pick the last digit and
    # place it at the start in order to form
    # a new rotation.
    # 199 -> 919 -> 991    
    while i < digits:
        # Dividing the number in digits
        # 199 % 10 = 9(last digit)
        remainder = int(num % 10)
        num = int(num / 10)
        num = int((remainder * (10 ** (digits - 1)) + num))
        print(num)
        value = is_prime(num)
        total += value
        i += 1
    if total is digits:
        print("Circular Prime")
    else:
        print("Non-Circular Prime")

# Function to check number is a prime or not
def is_prime(num):
    count = 0
    for i in range(1,num+1):
        if num % i is 0:
            count += 1
    if count is 2:
        return 1
    else:
        return 0

# Driver Function
is_circular_prime("199")

RELATED TAGS

circular
prime
algorithm
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring