1015 Reversible Primes

1015 Reversible Primes

A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is also a prime.
Now given any two positive integers N (<10
​5
​​ ) and D (1<D≤10), you are supposed to tell if N is a reversible prime with radix D.
Input Specification:

The input file consists of several test cases. Each case occupies a line which contains two integers N and D. The input is finished by a negative N.
Output Specification:

For each test case, print in one line Yes if N is a reversible prime with radix D, or No if not.
Sample Input:

73 10
23 2
23 10
-2
Sample Output:

Yes
Yes
No

解题

1.质数(性质):定义判断是否为质数的函数

判断指数的函数有很多,随便挑一个就是了


def isPrime(num):
    if num <= 1:
        return 0
    flag = 1
    for x in range(2, round(num**0.5)+1):
        if num % x ==0:
            flag = 0
            return flag
    return flag

2.翻转(核心):根据不同进制翻转数字

主要考查数学功底

def reverse(num, radix):
    result = ''
    while(num !=0):
        temp = num % radix
        result = str(temp) + result
        num = num //radix
    return result

3.主题代码:利用函数完成题目

if __name__ == "__main__":
    while(True):
        line = input().split(" ")
        if len(line) < 2:
            break
        num = int(line[0])
        radix = int(line[1])
        if isPrime(num) == 1:
            rever = reverse(num, radix)
            rever = rever[::-1]
            rever = int(rever, radix)
            if isPrime(rever) == 1:
                print("Yes")
            else:
                print("No")
        else:
            print("No")

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Grayson Zhang

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值