Cod sursa(job #5591)
| Utilizator | Data | 13 ianuarie 2007 13:16:15 | |
|---|---|---|---|
| Problema | Factorial | Scor | 95 |
| Compilator | fpc | Status | done |
| Runda | Arhiva de probleme | Marime | 0.44 kb |
var n,q,z,f:int64;
begin
assign(input,'fact.in'); reset(input);
assign(output,'fact.out'); rewrite(output);
readln(q);
if q=0 then write(1)
else begin
n:=4*q; n:=n-n mod 5;
end;
f:=5; while (f<=n) do begin z:=z+n div f; f:=f*5; end;
repeat
if z<q then n:=n+5;
f:=n; while f mod 5=0 do begin inc(z); f:=f div 5; end;
until z>=q;
if z=q then write(n)
else write(-1);
close(input); close(output);
end.