feat(solution): problem #35
parent
7683fafe8c
commit
6af7cea6a0
|
|
@ -0,0 +1,30 @@
|
||||||
|
import math
|
||||||
|
|
||||||
|
def is_prime(n):
|
||||||
|
for i in range(2, math.floor(math.sqrt(n) + 1)):
|
||||||
|
if n % i == 0:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def rotate_string(toBeRotated,n):
|
||||||
|
firstHalf = toBeRotated[0:n]
|
||||||
|
secondHalf = toBeRotated[n:]
|
||||||
|
return secondHalf + firstHalf
|
||||||
|
|
||||||
|
def is_circular_prime(n):
|
||||||
|
if is_prime(n):
|
||||||
|
for i in range(1, len(str(n))):
|
||||||
|
if not is_prime(int(rotate_string(str(n),i))):
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
limit = 1000000
|
||||||
|
circularPrimeList = []
|
||||||
|
|
||||||
|
for i in range(2, limit):
|
||||||
|
if is_circular_prime(i):
|
||||||
|
circularPrimeList.append(i)
|
||||||
|
|
||||||
|
print("The number of circular primes below " + str(limit) + " is: " + str(len(circularPrimeList)))
|
||||||
Loading…
Reference in New Issue