來自網易雲課堂python程式設計第三週作業的一道題
題目內容:
數字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時間限制:2000ms記憶體限制:32000kb
老師給出兩個資料,第一次提交乙個tle,乙個wa;第二次重寫了**,乙個ole,乙個ac
第二次**如下:
python
import math
n=raw_input()
m=len(n) #求出所需最大素數的位數
n=int(n)
prime=[z for z in range(2,10**m+1)]
deferatosthenes
(n):
#埃式篩素數
m=int(math.sqrt(n))
for i in range(2,m+1):
if i in prime:
for j in prime:
if j!=i and j%i==0:
prime.remove(j)
else:
continue
eratosthenes(10**m)
#輸入的是個m位數,就需要10的m次方內的素數表
defcircle_number
(n):
#列舉迴圈數
list=[n,]
m=len('%d' %n) #求出當前數的位數
for i in range(1,m): #m位數就有m-1個迴圈數
x=list[i-1]/(10**(m-1))+list[i-1]%(10**(m-1))*10
return list
cnt=0
for i in range(2,n+1):
list1=circle_number(i)
k=0#記錄list1中素數個數
for j in list1:
if j in prime:
k+=1
continue
else:
break
if k==len(list1): #全部是素數則加1
cnt+=1
print cnt
Python練習 迴圈素數
題目描述 數字197可以被稱為迴圈素數,因為197的三個數字迴圈移位後的數字 197,971,719均為素數。100以內這樣的數字包括13個,2,3,5,7,11,13,17,31,37,71,73,79,97。求任意正整數n以內一共有多少個這樣的迴圈素數 輸入格式 乙個正整數n 輸出格式 n以內迴...
Python演算法 迴圈素數
數字197可以被稱為迴圈素數。因為197的三個數字迴圈移位後的數字 197 971 719均為素數。100以內這樣的數字包括13個,2 3,5 7 11 13 17 31 37 71 73 79 97。求任意正整數n以內一共有多少個這樣的迴圈素數。import math deffun1 x for ...
迴圈 判斷素數
coding utf 8 判斷是否為素數 from math import sqrt num int input please input number s int sqrt num flag none for x in range 2,s 1 if num x 0 flag true break ...