哥德巴赫猜想学习

前言

任意大于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}")
相关推荐
阳光九叶草LXGZXJ4 小时前
达梦数据库-学习-68-dmasm0X_XXXXXX.log日志激增
linux·运维·数据库·sql·学习
火眼金睛记单词4 小时前
专项突破词汇:如何高效提升英语学习效率
学习
zhangrelay4 小时前
机器人或计算机智能与时间相关案例汇总(ROS2-ROS1)
linux·笔记·学习·ubuntu·机器人
老王爱玩车5 小时前
深入理解指针6
c语言·开发语言·学习
传奇开心果编程5 小时前
【SwiftUI入门练中学】第17课 通知与后台任务
学习·ui·ios·swiftui·swift
承渊政道5 小时前
Linux系统学习【线程概念与控制核心知识详解】
linux·运维·vscode·学习·ubuntu·线程创建 终止 等待
励志不掉头发的内向程序员5 小时前
【从零写一个CAD 04】中键拖动平移:抓住一个点,让它一直待在鼠标底下
开发语言·c++·qt·学习·系统架构·计算机外设
UIU1145 小时前
同一个变量在两个 .c 文件里类型不一致,程序会怎样?
c++·学习·c#
GEO从入门到精通13 小时前
课程怎么选?2026年GEO学习资源全梳理
学习
优化Henry14 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信