python-素数回文(赛氪OJ)

[题目描述]
现在给出一个素数,这个素数满足两点:
1、 只由 1∼9 组成,并且每个数只出现一次,如 13,23,1289 。
2、 位数从高到低为递减或递增,如 2459,87631 。
请你判断一下,这个素数的回文数是否为素数( 13 的回文数是 131 , 127 的回文数是 12721 )。
输入格式:
输入只有 1 行。
第 1 行输入一个整数 t ,保证 t 为素数。
输出格式:
输出一行字符串,如果 t 的回文数仍是素数,则输出“prime”,否则输出"noprime"。
样例输入#1
13
样例输出#1
prime
样例输入#2
17
样例输出#2
noprime
数据范围
对于 100% 的数据,保证 9≤t≤109 。
提示说明:
素数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数。素数的回文数为题意中的定义, 1331 不是素数的回文数。
来源/分类(难度系数:一星
模拟 质数 数学 


完整代码展示:
def prime(i):
       j=2
       k=pow(i,0.5)
       while j<=k:
              if i%j==0:
                  break
              j+=1
       if j>k:
           return 1
      else:
             return 0
n=int(input())
list_1=list(str(n))
list_2=list_1[0:-1]
list_2.reverse()
list_1=list_1+list_2
sum=""
for i in range(0,len(list_1)):
      sum+=list_1[i]
sum=eval(sum)
if prime(sum)==1:
     print("prime")
else:
       print("noprime")


代码解释:
def prime(i):
        j=2
        k=pow(i,0.5)
        while j<=k:
               if i%j==0:
                   break
               j+=1
        if j>k:
            return 1
       else:
              return 0    
”,根据质数的定义自定义一个函数prime(),判断关键字是否为质数。如果是,则返回值1,否则返回值0。
n=int(input()) ”,让用户输入一个质数n。
list_1=list(str(n))
 list_2=list_1[0:-1]
 list_2.reverse()
 list_1=list_1+list_2
 sum=""
 for i in range(0,len(list_1)):
       sum+=list_1[i]
 sum=eval(sum)                  
”,将n转换为字符串储存在列表list_1中,将list_1中除最后一个元素的所有元素储存在列表list_2中,再将list_2反转,合并list_1与list_2为list_1。接着建立一个空字符串sum,让sum依次连接list_1中元素,最后将字符串sum转换为可计算数值sum。
if prime(sum)==1:
       print("prime")
 else:
        print("noprime")
”,判断prime(sum)的返回值是否为1,如果是,则打印“prime”,否则打印“noprime”。


运行效果展示:

a1daa31968cf42e7baac2160de73ef83.jpg

db6adb4239c0416790110e2822e8ae8e.jpg 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闪云-微星

感谢大家的支持与鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值