[标题形貌]
求 11 到 n 之间(包罗 n),既是素数又是回文数的整数有多少个。
输入:
一个大于 11 小于 10000 的整数 n。
输出:
11 到 n 之间的素数回文数个数。
样例输入1
23
样例输出1
1
提示:
回文数指左右对称的数,如:11,12121。
来源/分类(难度系数:一星)
完整代码展示:
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的最中结果。
运行效果展示:
(声明:以上内容均为原创)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |