编写函数,接收一个正偶数为参数,输出两个素数并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。
时间: 2024-10-16 17:14:51 浏览: 39
正偶数分解两个素数之和
5星 · 资源好评率100%
编写这样的函数,我们可以使用Python的`itertools`库来进行组合并检查它们是否满足条件。首先,我们需要一个辅助函数来判断一个数是否为素数。然后,我们遍历所有小于给定偶数的素数对,并检查它们的和是否等于原偶数。以下是函数的实现:
```python
import itertools
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 find_prime_pairs(n):
# 获取小于n的所有素数
primes = [i for i in range(2, n) if is_prime(i)]
# 找到所有素数对
pairs = list(itertools.combinations(primes, 2))
# 检查素数对的和是否等于n
result = [(a, b) for a, b in pairs if a + b == n]
return result
# 测试函数
even_number = 36
output = find_prime_pairs(even_number)
print(f"对于{even_number},有以下符合条件的素数对:")
for pair in output:
print(pair)
阅读全文