Cod sursa(job #29341)
Utilizator | Data | 9 martie 2007 08:46:02 | |
---|---|---|---|
Problema | GFact | Scor | 55 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
var f,g:text;
a,d,p,b:longint;
begin
assign(f,'gfact.in');reset(f);
read(f,a);
close(f);
d:=2;
while a<>1 do
begin
p:=0;
while a mod d=0 do begin
a:=a div d;
p:=p+1;
end;
if p<>0 then if p<=d then b:=p*d
else b:=(p-1)*d;
d:=d+1;
end;
assign(g,'gfact.out');rewrite(g);
writeln(g,b);
close(g);
end.