哥德巴赫猜想的计算机验证

哥德巴赫在1742年给欧拉的信中提出了一个猜想:任一大于2的整数都可写成三个质数之和。但是哥德巴赫自己无法证明它,于是就写信请教数学家欧拉帮忙证明。但欧拉一直到死都无法证明。

后来关于整数,偶数,奇数与质数和的关系,又衍生出一些广义的猜想。

欧拉在回信中给出的等价版本是:任一大于2的偶数都可写成两个质数之和。(强哥德巴赫猜想)

后来又把命题扩展:任一充分大的偶数都可以表示成为一个质因子个数不超过a个数与另一个质因子个数不超过b个数之和,记作a+b

由强哥德巴赫猜想可推出弱哥德巴赫猜想,即:任何一个大于7的奇数都能被表示成三个奇质数之和。

陈景润在1966年证明了“任一充分大的偶数都可以表示成二个质数之和,或是一个质数和一个半质数的和”,而2013年弱哥德巴赫猜想也被证明。

然而,强哥德巴赫猜想始终没有被彻底证明。

猜想通常来源于直觉思维,通过直觉得出答案,然后用逻辑思维去验证。猜想暂时无法证明,但为了满足好奇心,我们可以通过计算机在一定范围内验证猜想。

例如,我们先求出1000以内的质数。(这里用javascript实现)
根据质数的定义:

 let length = 1000;
  const arr = [];
  for (let i = 2; i <= length; i++) {
    var flag = true;
    for (let j = 2; j < i; j++) {
      if (i % j === 0) {
        flag = false;
      }
    }
    if (flag === true) {
      arr.push(i);
    }
  }

打印出1000以内的质数为

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,
101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,
211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,
307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,
401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,
503,509,521,523,541,547,557,563,569,571,577,587,593,599,
601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,
701,709,719,727,733,739,743,751,757,761,769,773,787,797,
809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,
907,911,919,929,937,941,947,953,967,971,977,983,991,997

任一大于2的偶数都可写成两个质数之和,反过来想,把1000以内的质数两两相加,再去重排序,如果猜想成立的话,它们的和在1000范围内把偶数取出来组成数列,一定是连续的偶数数列,大于1000则无法验证,因为更大的数可能由大于1000的质数加和组成,不能保证偶数连续。

代码入下

 const result = [];
  for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr.length; j++) {
      result.push(arr[i] + arr[j]);
    }
  }
  result.sort((a, b) => {
    return a - b;
  });
  const _result = [...new Set(result)].filter((r) => r % 2 === 0 && r <= 1000);
  console.log(_result.join(','), '\n', _result.length);

打印结果如下

4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,
102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,
202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,
302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,398,400,
402,404,406,408,410,412,414,416,418,420,422,424,426,428,430,432,434,436,438,440,442,444,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,
502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,564,566,568,570,572,574,576,578,580,582,584,586,588,590,592,594,596,598,600,
602,604,606,608,610,612,614,616,618,620,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,668,670,672,674,676,678,680,682,684,686,688,690,692,694,696,698,700,
702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768,770,772,774,776,778,780,782,784,786,788,790,792,794,796,798,800,
802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,
902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000
 偶数个数: 499

经过验证,在1000以内,哥德巴赫猜想是正确的。

弱哥德巴赫猜想或者1+2的证明过程我并没有研究过。但我觉得,用自身的规则去证明自己应该是无法证明的,只有在更高的维度,利用新的数学工具才能解决。

你可能感兴趣的:(哥德巴赫猜想的计算机验证)