Python練習(12) -易
阿新 • • 發佈:2018-12-14
問題描述
素數的平方是迴文,即正讀和反讀相同。比如11 * 11=121, 求不超過1000的平方迴文素數。
- 分析 構造素數判斷函式; 構造判斷迴文的函式; 遍歷1000以內的數,找到素數; 判斷該數的平方是否滿足迴文,且不超過1000;
程式碼
# 素數判斷函式 def huiwen(i): if int(str(i)[::-1])==i: return True # 迴文判斷函式 import math def sushu(n): for k in range(2,int(math.sqrt(n)+1)): if n%k==0: return False return True # 迴圈,尋找符合條件的素數 c=[] for i in range(2,1000): if sushu(i): #判定素數 b=i*i if huiwen(b): #判定迴文 c.append(i) print c # 結果 [2, 3, 11, 101, 307]