求大神帮忙看看,为什么只有30PASCAL

P1579 哥德巴赫猜想(升级版)

绿母鸡快快跑 @ 2016-07-05 20:25:57

{求大神看一下

为什么只有30分

代码:}

var n,i,j,k:longint;
function prime(a:longint):boolean;
var i:longint;
begin
 if a=2 then exit(true);
 for i:=2 to a do
 if a mod i=0 then exit(false) else exit(true);
end;
begin
 read(n);
  for i:=2 to n do
   for j:=2 to n do
    for k:=2 to n do
    begin
     if (i+j+k=n)and(prime(i))and(prime(j))and(prime(k)) then 
begin
write(i,' ',j,' ',k);
halt;
end;
end;
end.
//谢谢

by owogon @ 2016-07-15 21:52:17

判断素数程序那里i取到了n,应优化为trunc(sqrt(n))或n-1。

三层循环可以删除一层,i,j确定之后k只能是n-i-j。

表示自己也没过错了不关我事


|