Cod sursa(job #1180006)

Utilizator vrabievictorvictor vrabie vrabievictor Data 29 aprilie 2014 19:33:02
Problema Factorial Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.58 kb
var n,m,k,p,u,pp:qword;


//aflam numarul de aparitii a lui 5 in n!
function desc(x:qword):qword;
var  s:qword;
begin
s:=0;
while x>=5 do
begin
s:=s+x div 5;
x:=x div 5;
end;
desc:=s;
end;

begin
assign(input,'factorial.in');reset(input);
assign(output,'factorial.out');rewrite(output);
readln(pp);
if pp=0 then writeln(1) else
begin
p:=1;
u:=100000000000000000;
while (p<=u) do
begin
m:=(u+p)div 2;
k:=desc(m);
if k=pp then p:=u+1 else
if k<pp then p:=m+1 else u:=m+1;
end;
if k=pp then
writeln(m-m mod 5) else writeln(-1);
end;
close(input);close(output);
end.