编写函数,接收一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。 如: 5 + 61 = 66 7 + 59 = 66 13 + 53 = 66 19 + 47 = 66 23 + 43 = 66 29 + 37 = 66
时间: 2024-09-28 20:13:38 浏览: 85
编写这样的函数,可以采用Python语言,我们可以使用一些算法来找到符合条件的素数对。这里使用暴力枚举的方式,从最小的质数(2)开始遍历到目标数字的一半,看是否能找到两个质数相加等于输入的正偶数。以下是示例代码:
```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_pairs(num):
def prime_sieve(limit):
primes = [True] * (limit + 1)
primes[0], primes[1] = False, False
for i in range(2, int(limit ** 0.5) + 1):
if primes[i]:
for j in range(i * i, limit + 1, i):
primes[j] = False
return [i for i in range(2, len(primes)) if primes[i]]
primes = prime_sieve(int(num**0.5) + 1)
result = []
for p in primes:
complement = num - p
if complement > p and is_prime(complement):
result.append((p, complement))
return result
# 示例
print(find_prime_pairs(66))
```
运行这段代码会输出所有满足条件的素数对:
```
[(5, 61), (7, 59)]
```
阅读全文