目录
详解
哥德巴赫1742年在给欧拉的信中提出了以下猜想:任一大于2的整数都可写成三个质数之和 [1]。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,但是一直到去世,欧拉也无法证明。 [2]
因现今数学界已经不使用“1也是素数”这个约定,原初猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。(n>5:当n为偶数,n=2+(n-2),n-2也是偶数,可以分解为两个质数的和;当n为奇数,n=3+(n-3),n-3也是偶数,可以分解为两个质数的和)欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。
常见的猜想陈述为欧拉的版本。把命题“任一充分大的偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和”记作“a+b”。1966年陈景润证明了“1+2”成立,即“任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和”。
常见的猜想陈述为欧拉的版本,即任一大于2的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。
从关于偶数的哥德巴赫猜想,可推出: [4]任一大于7的奇数都可写成三个质数之和的猜想。后者称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。若关于偶数的哥德巴赫猜想是对的,则关于奇数的哥德巴赫猜想也会是对的。2013年5月,巴黎高等师范学院研究员哈洛德·贺欧夫各特发表了两篇论文,宣布彻底证明了弱哥德巴赫猜想。
1742年,哥德巴赫给欧拉的信中提出了以下猜想:任一大于2的整数都可写成三个质数之和。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,然而一直到去世,欧拉也无法证明。
因现今数学界已经不使用“1也是素数”这个约定,哥德巴赫猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。(n>5:当n为偶数,n=2+(n-2),n-2也是偶数,可以分解为两个质数的和;当n为奇数,n=3+(n-3),n-3也是偶数,可以分解为两个质数的和)。欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。把命题"任一充分大的偶数都可以表示成为一个素因子个数不超过a的个数与另一个素因子不超过b的个数之和"记作"a+b"。1966年陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。
从关于偶数的哥德巴赫猜想,可推出:任何一个大于7的奇数都能被表示成三个奇质数的和。后者称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。若关于偶数的哥德巴赫猜想是对的,则关于奇数的哥德巴赫猜想也会是对的。2013年5月,巴黎高等师范学院研究员哈洛德·贺欧夫各特发表了两篇论文,宣布彻底证明了弱哥德巴赫猜想。
研究历史
华罗庚是中国最早从事哥德巴赫猜想的数学家。1936~1938年,他赴英留学,师从哈代研究数论,并开始研究哥德巴赫猜想,验证了对于几乎所有的偶数猜想。
1950年,华罗庚从美国回国,在中科院数学研究所组织数论研究讨论班,选择哥德巴赫猜想作为讨论的主题。参加讨论班的学生,例如王元、潘承洞和陈景润等在哥德巴赫猜想的证明上取得了相当好的成绩。
1956年,王元证明了“3+4”;同年,原苏联数学家阿·维诺格拉朵夫证明了“3+3”;1957年,王元又证明了“2+3”;潘承洞于1962年证明了“1+5”;1963年,潘承洞、巴尔巴恩与王元又都证明了“1+4”;1966年,陈景润在对筛法作了新的重要改进后,证明了“1+2”,即他证明了任何一个充分大的偶数,都可以表示为两个数之和,其中一个是素数,另一个或为素数,或为两个素数的乘积,被称为“陈氏定理”。
解答资料
(1)数学家哈代的偶数哥德巴赫猜想的渐近公式: 2*C(N)*N/[Log(N)]^2≥(1.32)N/[Log(N)]^2,C(N)=∏(1-1/(P-1)^2)*∏((P-1)/(P-2))≥0.66。设N=e^(2^m),e^(2^m)/(2^(m))^2=e^(2^m)/2^(2m),m≥1时,分子底大,指数大,两者比值大于1,公式解≥1。
(2)哈代公式(1.32)N/[Log(N)]^2≈1.32(√N)/(Ln(√N))^2][(√x)/4],即:公式解是√N的公式解数与(√N)/4的乘积。偶数平方根数有解,哈代公式就有解,公式解开始≥(√N)/4。
(3)哈代公式主体解转换成连乘积形式,分子移项:2[N/Ln(N)]∏(1-1/(P-1)^2)[1/Ln(N)]≈(N/2)∏{(p-1)/p}∏{p*(p-2)/(p-1)^2}(2/2)∏{(p-1)/p}≈(N/2)∏{(p-2)/(p-1}∏{(p-1)/p},即:N(1/2)(1/2)(2/3)(3/4)(4/5)(5/6)(6/7)(9/10)(10/11)...[(p-2)/(p-1)][(p-1)/p]=[(√N)/4](3/3)(4/4)(5/5)(6/6)(9/7)(10/10)...(√N)/p。因为分母的素数p最大值不大于√N,所以N≥49,公式开始大于(√N)/4。
(4)哈代公式主体解转换成幂指数差运算形式:(e^(10^n)/10^2≈{10^((10^n)/Log(10)-2n}。(e^10)/10^2≈10^{4.3-2}>10^4.3/2。N≥10^4.3,公式解开始大于√N。
N连续扩大平方数时哈代公式的主解:1.32*10^(2^m)/(Ln(2^m))^2≈1.32*10^(2^m)/[(2.3*2^m)^2]≈10^(2^m)/[(4^m)(5.3/1.32)]≈10^(2^m-0.6m-0.6),10^(2-1.2),10^(4-1.8),N≥10^4,公式解开始大于√N 。
(5)数学家王元的偶数哥德巴赫偶数猜想的上限公式:8*0.66*N/(logN)^2{1+O[log(log(N))/log(N)]}。N=e^(e^x),代入公式得:8*0.66*e^(e^x)/(e^x)^2{1+O[x/(e^x)]},{e^(e^x)/(e^x)^2}/{x/(e^x)}≈e^{(e^x)-x-log x} 》e^1.64。e^1-1-0≈1.7,(e^0.82)-0.82-(-0.198)≈1.64,(e^0.5)-0.5-(-0.69)≈1.8,{主项/O项}≥1,王元偶数哥解公式有正值底限解。{主项/O项}≥1,是奇数哥解的证明方法。
(6)哈代公式主体解: N/(LnN)^2≈{[(√N)/Log(√N)]^2}/4。(√N)/Log(√N)≈√N内素数个数,0.25*[π(√N)]^2的解≥1的条件,N≥第2个素数的平方数。
(7)哈代公式主体解: N/(LnN)^2≈{[N/(LnN)]^2}/N≈[(N)(0.5)(√N)/Log(√N)]^2}/N。 N/Log(N)≈N内素数个数,{[π(N)]^2}/N的解≥1的条件,N≥第2个素数的平方数。
(8)哈代公式主体解:e^(2^m)/2^(2m)≈2^(1.442*2^m)/2^(2m)≈2^(1.442*2^m-2m),前式是分子指数大于分母指数的数。后式在N≥e^2时,公式解≥1。函数y=x/(Lnx)^2在坐标系中的图象,在x=e^2时有最低点y≈7.3/4≈1.8,e^e/e^2≈15.1/7.3≈2.1,e^1/1^2≈2.7。往右y增大,往左y也增大。 数学家的偶数哥德巴赫猜想的渐近公式,上界公式都有某N后解大于一的证实。
数除对数的算式及幂的指数差算式
设N=e^(2^m),得e^(2^m)/2^(2m),分子底大,指数大,两者比值大于1。N=e^2时有底限正值解。
公式(1.32)N/[Log(N)]^2≈[(1.32)(√N)/(Log(√N))^2]*[(√x)/4],√N有正值解,N就有正值解,且含因子(√N)/4。
*设N=e^(10^n),利用自然对数转换成常用对数法,得到N/[Log(N)]^2≈[e^(10^n)]/10^(2n)≈10^{(10^n)/Log(10)-2n}。(e^10)/10^2≈10^{4.3-2}>10^4.3/2。N≥10^4.3,解开始大于√N。(e^100000)/100000^2≈10^{43429-10}》10^21714。设N=10^(2^m),1.32*10^(2^m)/(Log(2^m))^2≈1.32*10^(2^m)/[(2.3*2^m)^2]≈10^(2^m)/[(4^m)(5.3/1.32)]≈10^(2^m-0.6m-0.6),10^(2-1.2),10^(4-1.8),N≥10^4,含(1.32)参数的公式解开始大于√N 。
N/(Log(N))^2≈{[(√N)/Log(√N)]^2}/4。在(√N)/Log(√N)≥2时,解≥1。
N/(Log(N))^2≈{(N/(Log(N))^2}/N≈{[(√N)(0.5)(√N)/Log(√N)]^2}/N。在(√N)/Log(√N)≥2时,解≥1。
设N=e^(2^m),N/(Log(N))^2≈e^(2^m)/2^(2m)≈2^(1.442*2^m)/2^(2m)≈2^(1.442*2^m-2m)。N=e^2时有底限正值解。函数y=x/(Log(x))^2在坐标系中的图象,在x=e^2时有最低点e^2/2^2≈7.3/4≈1.8,e^e/e^2≈15.1/7.3≈2.1,e^1/1^2≈2.7。往右y增大,往左y也增大。重要成果:(N/[Log(N)]^2有正值解。自然对数的符号用log。
数学家王元的论文写明:8*0.66*N/(logN)^2{1+O[log(log(N))/log(N)]}。设:N=e^(e^x),代入公式得:8*0.66*e^(e^x)/(e^x)^2{1+O[x/(e^x)]},{e^(e^x)/(e^x)^2}/{x/(e^x)}≈e^{(e^x)-x-log x} 》e^1.64。e^1-1-0≈1.7,(e^0.82)-0.82-(-0.198)≈1.64,(e^0.5)-0.5-(-0.69)≈1.8,{主项/O项}≥1,解有正值解。
数论基础知识:N/Log(N)≈(N/2)∏{(p-1)/p}≈N(1/2)(2/3)(4/5)(6/7)...(P-1)/P,[2/Log(N)]∏(1-1/(P-1)^2)≈(2/2)∏[p-2)/(p-1)]≈(1/2)(3/4)(5/6)..(P-2)/(P-1),把两式相乘,把√N放最大分母的分子,各分子移小一项得N/[Log(N)]^2≈[(√N)/4](9/7)(15/13)...[(√N)/P],知N/[Log(N)]^2是增函数,且含因子(√N)/4。
(四)哈代求解公式内涵的细节
哈代提供的公式(1.32)[N/(log(N))^2],若两个大于一的数相乘自然大于一,有前一数大于1.32,需要通查N/(log(N))^2的数量。偶数哥德巴赫猜想的证明:需要通晓N/(log(N))^2≥1。
分析工具的升级:数用幂数代替,对数用指数代替,若底数不一样,要用转换系数。取N=e^(10^n)=10^((10^n)/log(10)},(log(e^(10^n)))^2=(10^n)^2=10^(2n),N/(log(N))^2=[e^(10^n)]/10^(2n)={10^(10^n)/log(10)}/{log(10)*(10^n)/log(10)}^2=10^{(10^n)/log(10)-2n}》10^{(10^n)/[2log(10)]},即:10^{0.434(10^n)-2n}》10^{0.217(10^n)};(e^10)/10^2为10^(4.3-2)》10^2.1。(e^100)/100^2为10^(43.4-4)》10^21.7。(e^1000)/1000^2为10^(434-6)》10^217,...。指数减一半表示求平方根数的运算。发现“数大于10^4.3时,数/其自然对数平方数的商大于数的平方根数”。找到了数学家求解满足偶数哥德巴赫猜想的素数的数量公式(1.32*商)的底限。
细节上的成功:幂数的指数差的运算式,是公比是10的等比数列的项减去公差是2的等差数列的项,其差数大于被减数的一半。表示偶数大于10^4.3时,满足偶数哥德巴赫猜想的素数的数量大于偶数的平方根数。
简单的说:取N=e^(2^n),(log(N))^2=(log(e^(2^n))^2=(2^n)^2=2^(2n),N/(log(N))^2={e^(2^n)}/2^(2n),N=e^2时有最低点N/(log(N))^2≈e^2/(2^2)≈7.39/4≈1.85,函数往右增大,往左也增大,例:e^3/3^2=20/9=2.23,e^e/(e^2)≈15.18/7.39≈2.05。e^(√2)/(√2^2)≈4.1/2≈2.05,e/1^2≈2.7,分子的底较大,指数也较大,分子的幂自然也较大,分母较小,N/(log(N))^2≥1。
2011年青岛小鱼山王新宇用幂的指数差运算发现了数学家求解满足偶数哥德巴赫偶数猜想的素数的数量公式的底限。数大于10^4.3时,数/其自然对数平方数的商大于数的平方根数”。证实了数学家求解满足偶数哥德巴赫猜想的素数的数量公式的底限大于一。N/(log(N))^2={e^(10^n)}/[(10^n)^2]={10^(10^n)/log(10)}/10^(2n)≈10^{0.43429(10^n)-2n} 》10^{0.2172(10^n)} ≥1。
误差解决
陈景润1978年的证明结果是:对于大偶数N,偶数表示成两个素数之和的表法个数为2G(N)N/(logN)^2+O(loglogN/logN),其3.9倍是上限数。其中:第一项是两个式子相除,分子上是2乘以G(N)再乘以N,分母上是logN的二次方;注意这里的logN是以自然对数e为底N的对数。第二项的大O(loglogN/logN)表示这个括号数的绝对值小于或等于C乘以loglogN/logN。陈景润的证明结果为对于偶数N,表示成两个素数之和的变法个数和2G(N)N/(logN)^2是差不多的,但是有误差,误差是多少呢?这个误差的绝对值(误差有可能为正或为负)可以由(loglogN/logN)控制,小于或等于一个常数C乘以(loglogN/logN)。假如我们想证明“每个偶数都可以表示为两个素数之和”,那么我们只需证明“这个偶数表示成两个素数之和的表示法个数大于零就可以了”,也就是说只需要陈景润的结果中2G(N)N/(logN)^2+O(loglogN/logN)大于零就可以了。换句话说只需要2G(N)N/(logN)^2大于O(loglogN/logN)就可以了,注意O(loglogN/logN)有可能是负数,而在理论中,我们必须假定其是负数。G(N)极限是0.66,如果您在纸上写出(1.32)N/(logN)^2>C(loglogN/logN),并且稍微变形就得到N大于e的e^x次方。 解析:N/(logN)^2>(loglog N/log N),设N=e^(e^x),{e^(e^x)/(e^x)^2}/{x/(e^x)}≈e^{(e^x)-x-log x} 》e^1.64, 是正值解。参见4解:e^2-2-0.69≈4.69,e^1-1-0≈1.7,(e^0.82)-0.82-(-0.198)≈1.648,(e^0.5)-0.5-(-0.69)≈1.84, {主项/O项}≥1,N≥e^(10^1)≈10^4.34时,公式解是正数值解。N≤e^(10^1)≈10^4.34时,已用计算机验证了公式解是正数值解。
数够大时,“N/(logN)^m”与“N/(logN)^2”两公式解都是解大于√N。e^(10^n)/(10^n)^m)≈10^{[(10^n)/2.3]-mn}》10^[(10^n)/4.6]。n=2,m≈43.4/4≈10.8时,有:10^43/[Ln(10^43)]^10 ≥10^21。n=3,m≈434/6≈72.3时,有:10^434/[Ln(10^434)]^72.3 ≥10^217。n=4,m=4342/8=504时,有:{10^4342/[Ln(10^4342)]^504}≥10^2171。让参数C为{N/(logN)^2}/{N/(logN)^m},n=2,C可为10^(10-2)。n=3,C可为10^(72-3)。n=4,C可为10^(504-4)。C再大,也有对应n数。
因为满足偶数哥德巴赫猜想的素数仅是素数数量中的部分数,上限解,下限解的差距不可能大于全体素数数量,用数学家偶数表为两素数和的数量的上限解去减全素数数量就可作为确切的下限解数量。取N=e^(e^x),2∏(1-1/(P-1)^2)*N/[Log(N)]^2≥(1.32)e^(e^x)/e^(2x)≈e^{(e^x)-x-x+0.27},上限解与渐近解极限差距是x,下限解与渐近解极限差距是(x-0.27)。上下有差距都不影响渐近解在N够大时为正数值解。
偶数公式
偶数哥德巴赫猜想解的数量公式是解该世界难题的关键。公式中有一个关键的参数为:P设为奇素数时,2∏[1-1/(P-1)^2]=2∏[(P^2-2P+1-1)/(P-1)^2]=2∏[P/(P-1)]∏[(P-2)/(P-1)]=2∏[P(P-2)/(P-1)^2]≈2(0.66)≈1.32。P设为奇素数时,有(x/2)(2/3)(4/5)(6/7)(10/11)..=x(1/2)∏[(P-1)/P]≈x/Ln(x)。(青岛)王新宇发现:∏[(P-2)/(P-1)]≈1.32(1/2)∏[(P-1)/P]≈1.32/Ln(x)。上面两公式的乘积竟是双筛法计算孪生素数(或偶数哥德巴赫猜想下限解)数量的公式:x(1/2)∏[(P-1)/P]∏[(P-2)/(P-1)]={x/Ln(x)}{1.32/Ln(x)}=1.32{x/Ln^2(x)}=2∏[1-1/(P-1)^2]{x/Ln^2(x)}=现代解析数论采用的孪生素数(或偶数哥德巴赫猜想下限解)数量公式。王新宇发现的∏[(P-2)/(P-1)]≈1.32/Ln(x),与素数个数公式的乘积,使两种计算数量的公式解近似相等。偶数哥德巴赫猜想近似解是把两边都添上∏[(Z-1)/(Z-2)],仍近似相等。数学家爱用对数参数公式,爱好者看重连乘积公式。连乘积公式与对数参数公式可以互相转换。且都有正值解。
代码
#include <iostream>
using namespace std;
//声明函数
int prime(int);
int main()
{
int x;//输入偶数
cin >> x;
for (int i = 2; i < x; i++)
{
//判断第一个数是否为素数
if (prime(i) == 1)
{
for (int j = 2; j < x; j++)
{
//判断第二个数是否为素数 且 满足两数之和为偶数x
if ((prime(j) == 1) && (i + j == x))
{
//满足,输出两个素数
cout << i << "\t" << j<<endl;
}
}
}
}
return 0;
}
//判断素数
//此处也可设置为布尔类型
int prime(int n)
{
for (int i = 2; i < n; i++)//可以把 n 换成 sqrt(n) 以减少运算
{
if (n % i == 0)// n可以整出除1和本身的数(不为素数)
return 0;//返回 0 函数结束
}
return 1;//循环顺利结束,n为素数,函数结束
}