题目内容:
数字197可以被称为循环素数,因为197的三个数位循环移位后的数字:197,971,719均为素数。100以内这样的数字包括13个,2,3,5,7,11,13,17,31,37,71,73,79,97。要求任意正整数n以内一共有多少个这样的循环素数。
输入格式:
一个正整数n。
输出格式:
n以内循环素数的数目。
输入样例:
100
输出样例:
13
# -*- coding: utf-8 -*-
import math
def isprime(n):
#判断素数,若是,返回True;否则,返回False
for i in range(2,int(math.sqrt(n))+1):
if n%i == 0:
return False
return True
def reverse_num(n):
d = 0
while n:
d = d*10 + n % 10
n = n //10
return d
###print(reverse_num(700))
def loop_prime(n):
if isprime(n):
s = str(n)
t = " "
while t != str(n):
t = s[1:] + s[0]
if isprime(int(t)):
s = t[:]
else:
return False
return True
else:
return False
###print(loop_prime(101))
num = eval(input("num= "))
cnt = 0
for n in range(2,num+1):
if loop_prime(n):
cnt += 1
print(n)
else:
continue
print(cnt)