回文素数是指一个数既是素数又是回文数,例如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)