哥德巴赫猜想学习

前言

任意大于2的偶数都是两个质数的和,对于101810^{18}1018以内所有数字

书里提的

对于计算机科学家来说,证明程序和系统的正确性是最重要的事情之一,

  • 即程序或系统是否确实按照预期运行。

python代码实现

python 复制代码
def sieve_of_eratosthenes(limit):
    sieve = [True] * (limit + 1)
    sieve[0] = sieve[1] = False
    for num in range(2, int(limit ** 0.5) + 1):
        if sieve[num]:
            sieve[num*num : limit+1 : num] = [False] * len(sieve[num*num : limit+1 : num])
    primes = [i for i, is_prime in enumerate(sieve) if is_prime]
    return primes

def goldbach_conjecture(even_number, primes):
    for prime in primes:
        if prime > even_number // 2:
            break
        if (even_number - prime) in primes_set:
            return (prime, even_number - prime)
    return None

# 示例使用
limit = 10000
primes = sieve_of_eratosthenes(limit)
primes_set = set(primes)

even_number = 56  # 可以替换为任何大于2的偶数
result = goldbach_conjecture(even_number, primes_set)
if result:
    print(f"{even_number} = {result[0]} + {result[1]}")
else:
    print(f"No primes found for {even_number}")
相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习