[题目描述]
 求 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的最中结果。
运行效果展示:

 
 
(声明:以上内容均为原创)


















![[一本通提高数位动态规划]恨7不成妻--题解--胎教级教学](https://i-blog.csdnimg.cn/direct/90cf8ef9e285496d9d289b9138a7776d.png#pic_center)
