编程验证哥德巴赫猜想:任意不小于4的偶数都可写成两个质数之和。输入一个偶数,输出该偶数所有可能的表示形式,如:20=3+17 20=7+13。
时间: 2024-12-20 10:31:34 浏览: 12
编程验证哥德巴赫猜想通常涉及算法设计和数论知识。你可以采用一种迭代的方式来解决这个问题,例如使用埃拉托斯特尼筛法(Sieve of Eratosthenes)生成一定范围内的所有质数,然后针对给定的每个偶数,遍历这些质数,看它们是否能组成该偶数的和。
以下是一个简单的Python示例:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n // 2 + 1)
primes[0], primes[1] = False, False
for i in range(2, int(n ** 0.5) + 1):
if primes[i]:
for j in range(i * i, n + 1, i):
primes[j] = False
return [2] + [2 * i + 1 for i in range(1, len(primes) - 1) if primes[i]]
def find_goldbach_partitions(num):
primes = sieve_of_eratosthenes(num)
partitions = []
for prime in primes:
complement = num - prime
if is_prime(complement):
partitions.append((prime, complement))
return partitions
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
# 用户输入
num_to_test = int(input("请输入一个不小于4的偶数:"))
partitions = find_goldbach_partitions(num_to_test)
print(f"{num_to_test} 的分解有:")
for partition in partitions:
print(f"{num_to_test} = {partition[0]} + {partition[1]}")
阅读全文