Problem 1095. Circular Primes (based on Project Euler, problem 35)
The number, 197, is called a circular prime because all rotations of the digits: 197, 971, and 719, are themselves prime.
There are thirteen such primes below 100: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, and 97.
Given a number x, write a MATLAB script that will tell you the number of circular primes less than or equal to x as well as a sorted list of what the circular prime numbers are.
Solution Stats
Problem Comments
-
6 Comments
Very nice problem!
How do you return two separable outputs via a single vector?
Christopher, I should have been more clear in the problem description.
There are two outputs to the function. The first output (how_many) is a scalar, and is the number of circular primes.
The second output (what_numbers) is the vector containing the values of the circular primes.
Does this help?
197 is not circular prime, because neither 791 nor 917 are themselves prime. Only test case 2 is correct.
Christopher, if our number is represented as ABC, then a cicrular prime is a number where ABC, BCA, and CAB are all prime. You are either shifting the numbers in the opposite direction or scrambling them. Not every permutation of the numbers has to be a prime number, although that in itself would be an interesting Cody problem. :-)
good question! tricky
Solution Comments
Show commentsProblem Recent Solvers492
Suggested Problems
-
Extract leading non-zero digit
2134 Solvers
-
518 Solvers
-
4657 Solvers
-
313 Solvers
-
1002 Solvers
More from this Author80
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!