题目内容:
反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。例如:17和71都是素数,所以,17和71都是反素数。编写程序,输入一个正整数,显示大于该数的前10个反素数。
输入格式:
一个正整数
输出格式:
显示前10个反素数,在同一行输出,空格分隔,结尾无空格。
输入样例:
12
输出样例:
13 17 31 37 71 73 79 97 107 113
def fun1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
def fun2(n):
m = int(n[::-1])
if m != n and fun1(int(m)):
return True
return False
lst = []
n = int(input('请输入一个整数'))
i = 0
j = n
while i < 10:
if fun1(j) and fun2(str(j)):
lst.append(j)
i = i+1
j += 1
for j in lst:
print(j, end=' ' if j != lst[-1] else '')
最后输出了101 但是101是回文数 不知道为什么会输出
有无人能指出是哪里错呢
如在帮助,请采纳:
def prime(n):
for i in range(2,n):
if n%i==0:
return False
return True
n = int(input())
lst = []
while len(lst)<10:
n += 1
m = int(''.join(reversed(str(n))))
if prime(n) and prime(m) and m!=n:
lst.append(n)
print(*lst)