绿母鸡快快跑 @ 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。
表示自己也没过错了不关我事