反素数(逆向拼写的素数)是指一个将其逆向拼写后也是一个素数的非回文数。例如: 13和31都是素数,且13和31都不是回文数,所以,13和31是反素数。 输入一个正整数n,请在同一行输出从小到大排列的的前n个反素数,每个数字后面加一个空格 输入格式 输入一个正整数 输出格式 符合条件的反素数 示例 输入:10 输出: 13 17 31 37 71 73 79 97 107 113
时间: 2024-03-22 19:42:50 浏览: 99
判断一个数是否为素数 判断一个数是否为素数
以下是Python的代码实现:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**(1/2))+1):
if n % i == 0:
return False
return True
def reverse(n):
return int(str(n)[::-1])
def anti_primes(n):
count = 0
i = 10
result = []
while count < n:
if is_prime(i) and is_prime(reverse(i)) and i != reverse(i):
result.append(i)
count += 1
i += 1
return result
n = int(input())
result = anti_primes(n)
print(' '.join(str(x) for x in result))
```
首先,我们定义了一个 `is_prime` 函数来判断一个数是否为素数。然后,我们定义了一个 `reverse` 函数来将一个数的数字顺序颠倒过来。接着,我们定义了一个 `anti_primes` 函数来找出前 `n` 个反素数。在这个函数中,我们从10开始遍历每个数,如果这个数和它的逆序数都是素数且不相等,则将它加入到结果列表中,并将计数器加1。最后,将结果列表按从小到大的顺序输出即可。
阅读全文