写个输出前n个回文素数的Python代码
时间: 2024-04-20 22:06:20 浏览: 87
以下是输出前n个回文素数的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):
return str(num) == str(num)[::-1]
def palindrome_primes(n):
count = 0
num = 2
while count < n:
if is_prime(num) and is_palindrome(num):
print(num)
count += 1
num += 1
palindrome_primes(10) # 输出前10个回文素数
```
代码解析:
1. `is_prime` 函数用于判断一个数是否为素数,采用试除法,时间复杂度为 O(sqrt(n))。
2. `is_palindrome` 函数用于判断一个数是否为回文数,将数转化为字符串并反转,判断是否与原数相等即可。
3. `palindrome_primes` 函数用于输出前 n 个回文素数。初始化计数器 count 为 0,数 num 为 2。当计数器小于 n 时,判断 num 是否为素数且为回文数,如果是则输出并计数器加 1,否则继续遍历数 num。
阅读全文