CMU 15-112 Summer 2018: Fundamentals of Programming and Computer Science
Homework 2 (Due Wed 23-May, at 5pm)

  1. nthCircularPrime [100 pts]
    A circular prime is an integer number with the property that any rotation of that number's digits is prime. In this case, rotation refers to cycling the digits of a number; for example, the rotations of 1234 are 1234, 2341, 3412, and 4123. You can read more about this on the Wikipedia page. Single-digit primes are all circular, of course. To find the nth circular prime, you'll need to write isPrime and three other functions:

    1. rotateNumber [30 pts]
      This function takes an integer number, x, and rotates that number's digits by one place. This would turn the number 1234 to 4123.

    2. isCircularPrime [40 pts]
      This function takes an integer number, x, and determines whether that number is a circular prime. To do this, you'll need to check whether every rotation of the number is prime.

    3. nthCircularPrime [30 pts]
      This function takes an integer number n, and returns the nth circular prime.