大恩百科
首页 > 生活常识 >

哥德巴赫猜想是什么(世界近代三大数学难题之一)

100次浏览     发布时间:2024-08-14 10:16:00    



今日主题

什么是哥德巴赫猜想?

如何用验证100之内的数是符合哥德巴赫猜想的?

哥德巴赫猜想

什么是素数

素数(Prime Number)是指只能被1和自身整除的正整数,也就是除了1和本身以外没有其他因数的自然数。例如,2、3、5、7、11等都是素数。

与素数相对的是合数(Composite Number),合数是指有除了1和本身以外的因数的自然数。例如,4、6、8、9、10等都是合数。

素数在数学中有着重要的地位,它与质数(Prime Number)是同义词。

质数是只能够被1和自身整除的正整数,而素数则更强调了只能被1和自身整除的特点。

素数在密码学、计算机科学、统计学等领域都有着广泛的应用。

哥德巴赫和欧拉

哥德巴赫和欧拉之间的沟通是通过信件进行的。

1742年6月7日,哥德巴赫在写给欧拉的一封信中提出了两个大胆的猜想:

任何大于5的奇数都可以表示为三个素数的和。

欧拉在回信中表示他深信哥德巴赫的这两个猜想都是正确的定理,但是欧拉当时还无法给出证明。

哥德巴赫猜想从此成为了数论领域最著名的未解问题之一。

哥德巴赫猜想有很多版本,其中最著名的是以下两个:

  1. 偶数版本:任何不小于6的偶数都可以表示为两个质数之和。
  2. 例如
  3. 4 = 2 + 2,
  4. 6 = 3 + 3
  5. 8 = 3 + 5
  6. 10 = 3 + 7
  7. 偶数版本也称为欧拉版本,即任一大于2的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。

  8. 奇数版本:任何不小于9的奇数都可以表示为三个质数之和。
  9. 例如,
  10. 9 = 2 + 2 + 5,
  11. 11 = 2 + 3 + 6,
  12. 13 = 2 + 3 + 8,
  13. 15 = 2 + 5 + 8,
  14. 奇数版本也称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。

2013年5月,巴黎高等师范学院研究员哈洛德·贺欧夫各特发表了两篇论文,宣布彻底证明了弱哥德巴赫猜想。


Python验证100之内的数字

如何验证一个数是否是素数呢?

import math
# 判断数字是否为素数
def isPrime(n):
    if n <= 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True

如何验证[2,100]之间的所有偶数是符合哥德巴赫猜想的?

import math


# 判断数字是否为素数
def isPrime(n):
    if n <= 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True


#验证大于2的偶数可以分解为两个质数之和
def goldbach(T):
# T为列表,第一个元素为区间起点,第二个元素为区间终点
    S = T[0]
    E = T[1]
    sample=[]   #用于返回样例
    print('-----------')
    if S < 4:   #若不是大于2的偶数
        S = 4   #设为大于2的最小偶数
    if S % 2 == 1:      #除2余数为1的是奇数
        S += 1          #奇数+1为偶数
    for i in range(S, E + 1, 2):    #遍历区间内所有偶数
        isGoldbach = False
        for j in range(i // 2 + 1): # 表示成两个素数的和,其中一个不大于1/2
            if isPrime(j):
                k = i - j
                if isPrime(k):
                    isGoldbach = True
                    sample.append((i,j,k))
                    break
        if not isGoldbach:
            #如果打印这句话表示算法失败或欧拉错了
            sample.append('哥德巴赫猜想失败!')
            break
    return sample


if __name__ == '__main__':
    sample = goldbach([2,100])
    print(sample)



相关推荐

第一次表白失败怎么办(第一次告白被拒绝,继续追还有用吗?) 2025-08-13
男人爱你入心的表现有哪些(男人“爱你入心”的四个表现) 2025-08-12
谈恋爱怎么才能让对方不累(要想相处不累,做到这点就够了) 2025-08-12
女生提分手又想复合怎么办?(女友闹完分手又要和好) 2025-08-11
男女情人吵架了多久不联系最好(超过这个时间就放手吧!) 2025-08-11
怎么跟男生撒娇不尴尬(聪明女人,这样和男人撒娇) 2025-08-10
精神出轨可以被原谅吗(为什么有人会精神出轨?) 2025-08-10
怀孕时老公出轨了该怎么办(怀孕期间丈夫出轨,妻子精神分裂,离婚要给抚养费吗?) 2025-08-09