2010C_4_1(哥德巴赫猜想)哥德巴赫猜想是指,任一大于2的偶数都可写成两个质数之和,迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠。试编写程序,验证任一大于2且不超过n的偶数都能写成两个质数之和。
const
size=1000;
var
n,r,i,j,k,ans:integer;
p:array[1..SIZE] of integer;
tmp:boolean;
procedure debug;
var
i:integer;
begin
for i:=1 to r do
begin
write(p[i]:5);
if (i mod 5=0) then writeln;
end;
end;
begin
readln(n);
r:=1;
p[1]:=2;
for i:=3 to n do
begin
tmp:=true;
for j:=1 to r do
begin
if i mod p[j]=0 then
begin
tmp:=false;
break;
end;
end;
if tmp then
//若i是素数,则添加到素数表中,并作为判断下一个数的除数
begin
inc(r);
p[r]:=i;
end;
end;
ans:=0;
for i:=2 to (n div 2) do
begin
tmp:=false;
for j:=1 to r do
begin
for k:=j to r do
begin
if i+i=p[j]+p[k] then
begin
tmp:=true;
break;
end;
end;
end;
if tmp then inc(ans);
end;
writeln(ans);
end.