#coding=utf-8 """ 题目内容: 数字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 """ import math def isprime(num): if num==2 or num==3: return 1 if num==4: return 0 for i in range(2,int(math.sqrt(num))+1): if num%i==0: return 0 return 1 def roll_num(num): return num/10+num%10*int(math.pow(10,len(str(i))-1)) N=int(raw_input()) count=0 for i in range(2,N+1): flag=1 temp=i for j in range(len(str(temp))): if isprime(temp)==0: flag=0 temp = roll_num(temp) if flag==1: count+=1 print i print count
循环素数
最新推荐文章于 2023-03-27 18:36:26 发布