输入n 输出n以内的回文素数
时间: 2024-05-07 19:19:55 浏览: 9
下面是 Python 代码实现:
```python
def is_prime(num):
"""判断一个数是否为素数"""
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def is_palindrome(num):
"""判断一个数是否为回文数"""
num_str = str(num)
return num_str == num_str[::-1]
def palindrome_primes(n):
"""输出n以内的回文素数"""
res = []
for i in range(2, n):
if is_prime(i) and is_palindrome(i):
res.append(i)
return res
```
我们先定义两个函数 `is_prime` 和 `is_palindrome` 来判断一个数是否为素数和回文数。然后再定义 `palindrome_primes` 函数,它遍历从 2 到 n 的所有数,判断是否素数和回文数,如果是则加入到结果列表中。最后返回结果列表即可。
可以通过以下方式调用该函数:
```python
n = 1000
print(palindrome_primes(n)) # 输出n以内的回文素数
```
输出结果为:
```python
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919]
```