关于Turbo Pascal的难题21/27

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:59:11
验证哥德巴赫猜想:每一个大于2的偶数都可以表示成两个质数的和。如4=2+2;8=3+5;98=19+79.

如果可以验证哥德巴赫猜想,那哥德巴赫猜想就不是猜想了.不过我的程序可以证明50000000和50000000以下每一个大于2的偶数都可以表示成两个质数的和.

程序如下:
var n,i,j,temp:longint;
b:array[0..50000000]of boolean;
begin

readln(n);
{读入n,表示要证明n和n以下每一个大于2的偶数都可以表示成两个质数的和}

fillchar(b,sizeof(b),true);
b[1]:=false;b[0]:=false;
for i:=2 to trunc(sqrt(n)) do
if b[i] then
for j:=2 to n div i do
b[i*j]:=false;

{建立素数表}

for i:=4 to n do
begin
temp:=0;
if i mod 2=0 then
begin
for j:=2 to i do
if b[j] and b[i-j] then begin temp:=1;break;end;
if temp=0 then begin writeln('NO');halt;end;
{如果找不到,就表示哥德巴赫猜想不成立,退出}
end;
end;
writeln('YES');

{如果到最后都没退出,就表示哥德巴赫猜想成立}
end.

http://364641633.qzone.qq.com
里面有

program gdbh_1;
var n,i