Cod sursa(job #677772)
Utilizator | Pojoga Vasile vasile_pojoga | Data | 10 februarie 2012 17:07:47 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.73 kb |
program fact;
var n,y,z,f:int64;
begin
assign(input,'fact.in'); reset(input);
assign(output,'fact.out'); rewrite(output);
readln(y);
if y=0 then write(1)
else begin
n:=4*y;
n:=n-n mod 5;
f:=5;
while (f<=n) do begin
z:=z+n div f;
f:=f*5;
end;
repeat
if z<y then n:=n+5;
f:=n;
while f mod 5=0 do begin
inc(z);
f:=f div 5;
end;
until z>=y;
if z=y then write(n)
else write(-1);
end;
close(input); close(output);
end.