Cod sursa(job #847952)
| Utilizator | Data | 4 ianuarie 2013 17:53:32 | |
|---|---|---|---|
| Problema | Factorial | Scor | 40 |
| Compilator | fpc | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
program factoriale;
var n,i,fa,fc,j,k:longint;
f,g:text;
begin
assign(f,'fact.in');
reset(f);
assign(g,'fact.out');
rewrite(g);
read(f,fc);
if ((fc<5)and(fc<>0)) then write(g,fc*5)
else begin
fa:=0;
n:=5*fc;
repeat
fa:=fa+ n div 5;
n:=n div 5;
until n=0;
n:=5*fc;
while fc<fa do begin
k:=n;
j:=0;
while k mod 5=0 do begin
k:=k div 5;
inc(j);
end;
fa:=fa-j;
n:=n-5;
end;
write(g,n);
end;
if fc=0 then write(g,1);
close(f);
close(g);
end.
