关于PASCAL一道题:验证哥德巴赫猜想。

来源:百度知道 编辑:UC知道 时间:2024/06/07 08:11:02
program exap121_3_22;
var
a,b,j:integer;
function fa(x:integer):boolean;
var
i:integer;
f:boolean;
begin
if x<=1 then begin f:=false; exit; end;
f:=true;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then begin f:=false; break; end;
fa:=f;
end;
begin
for j:=6 to 100 do begin
if not odd(j) then begin
a:=1;
repeat
a:=a+2;
b:=j-a;
until fa(a) and fa(b);
writeln(j,'=',a,'+',b); end;
end;
end.
这个程序,运行没有任何输出?各位帮我看看,到底出在什么地方?谢谢了

我运行了有输出的
建议你用freepascal2.0或者TP7别用其他的
肯定有输出

这个程序对的。按alt+f5看结果

你的程序对的。按Alt+F5看结果

这个是我编的,任意输入偶数。
program gdbhcx;
var
i,j,n,s:longint;
prime,primel:boolean;
f:text;
begin
repeat
write('n');readln(n);
until not odd(n);
if n=4 then write (n,'=','2+2')
else
begin
i:=1;
repeat
i:=i+2;
prime:=true;
for j:=2 to trunc(sqrt(i)) do
if i/j=trunc(i/j) then
begin
prime:=false;
j:=trunc(sqrt(i));
end;
if prime then
begin
s:=n-i;
primel:=true;
for j:=2 to trunc(sqrt(s)) do
if s/j=trunc(s/j) then
begin
prime:=false;
j:=trunc(sqrt(s));
end;
if primel then
begin
writeln(n,'=',i,'+'