用python编写函数,接收一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。(建议求素数过程也编写一个函数)如果存在多组符合条件的素数,则全部输出。
时间: 2024-02-09 14:11:58 浏览: 78
Python判断一个数是否为素数
可以先编写一个判断素数的函数 `is_prime(n)`,然后再编写一个函数 `find_prime_pair(n)` 来寻找符合条件的素数对。
以下是代码实现:
```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 find_prime_pair(n):
"""寻找两个素数之和等于n的素数对"""
result = []
for i in range(2, n // 2 + 1):
if is_prime(i) and is_prime(n - i):
result.append((i, n - i))
return result
# 测试
n = 20
print(find_prime_pair(n)) # 输出 [(3, 17), (7, 13)]
```
以上代码中,`is_prime(n)` 函数使用了试除法来判断一个数是否为素数。在 `find_prime_pair(n)` 函数中,我们从 2 开始遍历到 n 的一半,对于每一个数 i,如果它是素数,那么我们就判断 n - i 是否也是素数,如果都是素数,就将这两个素数组成的元组加入到结果列表中。最后返回结果列表即可。
注意,这个函数返回的是一个列表,因为可能有多组符合条件的素数对。
阅读全文