Cod sursa(job #5591)
Utilizator | Capalna Tanase Tase_C | 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.