Python寻找回文素数
时间: 2023-05-25 08:06:57 浏览: 425
python寻找回文素数
一个回文素数是既是素数又是回文的数字。以下是Python代码,用于查找回文素数:
```python
def is_prime(n):
"""检查一个数字是否是素数"""
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def is_palindrome(n):
"""检查一个数字是否是回文数字"""
s = str(n)
return s == s[::-1]
def find_palindrome_primes(n):
"""
查找小于n的回文素数
"""
palindrome_primes = []
for i in range(2, n):
if is_prime(i) and is_palindrome(i):
palindrome_primes.append(i)
return palindrome_primes
print(find_palindrome_primes(1000))
```
在这个代码中,我们定义了三个函数:`is_prime`(检查一个数字是否是素数),`is_palindrome`(检查一个数字是否是回文数字)和`find_palindrome_primes`(查找小于n的回文素数)。我们使用这些函数在`find_palindrome_primes`函数中通过循环从2到n找到回文素数,然后将它们添加到一个列表中,并最终返回这个列表。
当我们运行这个程序时,它将输出小于1000的回文素数:
```
[2, 3, 5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 373, 383, 727, 757, 787, 797, 919]
```
因此,在这个例子中,我们找到了小于1000的19个回文素数。
阅读全文