6-5 打印指定范围内的全部回文素数(高教社,《Python编程基础及应用》习题8-7) (6 分) PTA

回文素数是指一个数既是素数又是回文数,例如131既是素数又是回文数。请实现下述两个函数,帮助测试程序完成如下功能:从键盘输入正整数N, 打印从1 ~ N(包含N)的全部回文素数,一行一个。

函数接口定义:

def isPrime(num): 

def reverseNumber(num):

isPrime()用于判断整数num是否是素数,是返回True, 否则返回False. reverseNumber()用于返回整数num的反向数,321的反向数为123, 320的反向数为23。

裁判测试程序样例:

N = int(input()) 
for n in range(1,N+1): 
    if isPrime(n) and reverseNumber(n) == n: 
        print(n)

输入样例:

400

输出样例:

2
3
5
7
11
101
131
151
181
191
313
353
373
383

代码如下:

def isPrime(num):
    flag = True
    if num == 1:
        flag = False
    for i in range(2, num):
        if num % i == 0:
            flag = False
    return flag


def reverseNumber(num):
    temp = str(num)
    # 使size字符串最后一个字符的索引
    size = len(temp) - 1
    result = ""
    # 从后往前遍历
    while size != -1:
        result = result + temp[size]
        size -= 1

    return int(result)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值