python 處理回文質數

2021-09-24 02:59:36 字數 1386 閱讀 7049

因為151既是乙個質數又是乙個回文數(從左到右和從右到左是看一樣的),所以 151 是回文質數。

寫乙個程式來找出範圍[a,b](5 <= a < b <= 100,000,000)( 一億)間的所有回文質數;

輸入輸出格式

輸入格式:

第 1 行: 二個整數 a 和 b .

輸出格式:

輸出乙個回文質數的列表,一行乙個。

輸入輸出樣例

輸入樣例#1:

5 500

輸出樣例#1:57

11101

131151

181191

313353

373383

直接上**:

from math import *

z=[5,7,11]

x=[int(i) for i in input().split()]

for i in range(1,10,2):

for j in range(0,10):

for k in range(0,10):

a=i*10000+j*1000+k*100+j*10+i

for m in range(3, round(sqrt(a)) + 1):

if a % m == 0:

break

else:

for i in range(1,10,2):

for j in range(0,10):

a=i*100+j*10+i

for k in range(3,round(sqrt(a))+1):

if a%k==0:

break

else:

for i in range(1,10,2):

for j in range(0,10):

for k in range(0,10):

for l in range(0,10):

a=1000000*i+j*100000+k*10000+l*1000+k*100+j*10+i

for m in range(3, round(sqrt(a)) + 1):

if a % m == 0:

break

else:

z.sort()

for i in z:

if x[0]<=i<=x[1]:

print(i)

注意兩個點,可以優化一點點,完成本題沒問題

偶數字絕對不是回文質數(11除外)

所以range(1,10,2)

由於最大100,000,000

所以只選擇了 這三個區間

1000000-9999999

10000-99999

100-999

最後排序選擇區間內所有數

回文質數 搜尋

usaco 1.5 因為151既是乙個質數又是乙個回文數 從左到右和從右到左是看一樣的 所以 151 是回文質數。寫乙個程式來找出範圍 a,b 5 a b 100,000,000 一億 間的所有回文質數 program name pprime input format file pprime.in ...

回文質數 (Prime Palindromes)

題目描述 因為 151 既是乙個質數又是乙個回文數 從左到右和從右到左是看一樣的 所以 151 是回文質數。寫乙個程式來找出範圍 a,b 5 a輸入格式 第 1 行 二個整數 a 和 b 輸出格式 輸出乙個回文質數的列表,一行乙個。輸入輸出樣例 輸入5 500輸出5 711101131 151181...

演算法OJ 回文質數

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 因為151既是乙個質數又是乙個回文數 從左到右和從右到左看是一樣的 所以151是回文質數 寫乙個程式來找出範圍 a,b 5 a輸入 第一行 兩個整數 a和b 輸出 輸出乙個回文質數的列表,一行乙個 輸入樣例 5 500 輸出樣...