形如 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的), 所以称 151 为回文质数。编写一个程序统计 100~20221208 之间有多少个回文质数,并输出 最后一个回文质数。
时间: 2024-12-08 16:20:10 浏览: 11
要编写一个程序来统计并找出100至20221208之间的回文质数,我们可以按照以下步骤:
1. 定义一个函数,用于检查一个数字是否为质数。这通常通过遍历所有小于该数字平方根的因子来进行。
2. 写一个辅助函数,判断一个数字是否为回文数,即反转数字并与原数字比较。
3. 使用一个循环,对给定范围内的每个数字先检测是否为质数,如果是,则进一步检查是否为回文。
4. 统计符合条件的回文质数的数量,并记录最后一个找到的回文质数。
下面是一个Python示例代码来完成这个任务:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def is_palindrome(n):
return str(n) == str(n)[::-1]
count = 0
last_palindrome_prime = None
for num in range(100, 20221209): # 注意这里是20221209,因为我们要包含20221208
if is_prime(num) and is_palindrome(num):
count += 1
last_palindrome_prime = num
print(f"在100至20221208之间有 {count} 个回文质数,最后一个回文质数是 {last_palindrome_prime}.")
阅读全文