讨论 / 测试数据相当弱 这都ac了
xxo9001 2008-02-27 04:05:00
点我顶贴 收藏 删除
program r114;

const r=320000;

var

a:array[1..30000]of longint;

b:array[1..100]of longint;

p:array[1..r]of boolean;

i,j,k,m,n,l:longint;

x:int64;

procedure getp;

var

i,j:longint;

begin

p[1]:=false;

i:=2;

while i<r do

begin

if p[i] then

begin

j:=i*2;

while j<=r do

begin

p[j]:=false;

j:=j+i;

end;

end;

inc(i);

end;

j:=0;

for i:=1 to r do

if p[i] then begin j:=j+1; a[j]:=i; end;

l:=j;

end;

begin

fillchar(p,sizeof(p),true);

getp;

readln(x);

i:=1;

j:=1;

repeat

if (frac(x/a[i])=0) then begin b[j]:=a[i]; j:=j+1; x:=trunc(x/a[i]); end

else i:=i+1;

until i=l;

write(b[1]);

for i:=2 to j-1 do write( ,b[i]);

end.

#1 fjxmlhx@2008-02-27 04:05:00
回复 删除
是有点弱。。。但是强了不会做
#2 sbsbt@2018-08-02 03:55:32
回复 删除
。。。。。。。。。
查看更多回复
提交回复