完整代码展示:
a=int(input())
b=0
for i in range(11,a+1):
j=2
k=int(pow(i,0.5))
while j<=k:
if i%j==0:
break
j+=1
if j>k:
c=list(str(i))
d=c[:]
d.reverse()
if d==c:
b+=1
print(b)
代码表明:
“a=int(input()) ”,让用户输入值域的右界说值a。
“b=0 ”,设b初始值为0,用于储存素数回文数。
“for i in range(11,a+1):
j=2
k=int(pow(i,0.5))
while j<=k:
if i%j==0:
break
j+=1
if j>k: ”,依次遍历11~a的全部数值,根据素数的界说判断该数是否为素数。
“c=list(str(i))
d=c[:] d.reverse()
if d==c:
b+=1 ”,如果是,则将该数转换为字符串并储存在列表c中。接着复制列表c为d,反转d,判断d与c是否相同。如果相同,则令b+1。
“print(b) ”,打印b的最中结果。