Cod sursa(job #85472)
Utilizator | Data | 21 septembrie 2007 16:51:36 | |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
var n,i,j,k,p,u:int64;
f:text;
begin
assign(f,'fact.in');
reset(f);
read(f,n);
close(f);
assign(f,'fact.out');
rewrite(f);
if n=0 then writeln(f,1)
else
j:=5*625;
u:=1+5+25+125+625;
begin
repeat
i:=i+j;
if(p+u>=n)and(u>1)then begin i:=i-j;
j:=j div 5;
u:=u-j;
end
else p:=p+u;
until p=n;
writeln(f,i);
end;
close(f);
end.