321zdq @ 2016-02-10 19:18:25
我是题意理解错了还是程序错了:
var s:array[2..20000]of boolean;n,i,j,x:integer;
begin
read(n);fillchar(s,sizeof(s),true);
write(3,' ');
n:=n-3;x:=trunc(sqrt(n));
for i:=2 to x do
if s[i] then for j:=2 to x div i do s[i*j]:=false;
for i:=2 to n do
if s[i] and s[n-i] then break;
if i>n-i then write(n-i,' ',i) else write(i,' ',n-i);
end.
by 乐在其中 @ 2016-02-11 13:26:46
@[url=/space/show?uid=9455]123ZDQ[/url] 你错了
by pupuvovovovovo @ 2016-06-18 16:51:26
首先说明一下,如果直接打3最多只有80分(未考虑2,2,n的情况)。