如何编写一个 Python 函数,用于找出并按顺序输出小于等于输入正整数 n 的所有回文素数,并确保每个素数后面跟有一个空格?同时,请提供一个用于判断一个数是否为素数的辅助函数实现。
时间: 2024-11-25 10:12:54 浏览: 32
首先,我们需要创建一个辅助函数 `is_palindrome` 来判断一个数是否是回文。然后,我们将编写主函数 `find_palindrome_primes` 来找到并输出指定范围内的回文素数。
```python
def is_palindrome(num):
"""
判断一个数是否为回文数
参数:
num (int): 需要检查的数
返回值:
bool: 如果num是回文数则返回True,否则返回False
"""
return str(num) == str(num)[::-1]
def is_prime(n):
"""
判断一个数是否为素数
参数:
n (int): 需要检查的数
返回值:
bool: 如果n是素数则返回True,否则返回False
"""
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def find_palindrome_primes(n):
"""
找出并按照顺序输出小于等于输入正整数n的所有回文素数,每个素数后面跟一个空格
参数:
n (int): 上限
"""
result = []
for num in range(2, n+1):
if is_palindrome(num) and is_prime(num):
result.append(str(num))
if result:
print(" ".join(result))
# 示例
find_palindrome_primes(100)
```
当你运行 `find_palindrome_primes(100)`,它将输出小于等于100的所有回文素数,例如 "2", "3", "5", "7", "11", "101" 等等。
阅读全文