哥德巴赫猜想学习

前言

任意大于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}")
相关推荐
nashane1 小时前
HarmonyOS 6学习:画中画(PiP)状态同步与场景化实战指南
学习·pip·harmonyos·harmonyos 5
_李小白1 小时前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
勤劳的进取家1 小时前
数据链路层基础
网络·学习·算法
d111111111d1 小时前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
y = xⁿ3 小时前
Redis八股学习日记:布隆过滤器
数据库·redis·学习
d111111111d4 小时前
了解Modbus
网络·笔记·stm32·单片机·嵌入式硬件·学习
charlie1145141914 小时前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
我想我不够好。5 小时前
监控学习 4.29 1.5hour
学习
晓晓hh5 小时前
JavaWeb学习——JUnit和日志
学习·junit·单元测试
小超同学你好5 小时前
Transformer 30. MoCo:用「动量编码器 + 队列字典」把对比学习做成可扩展的“字典查找”
深度学习·学习·transformer