Pagini recente » Cod sursa (job #1183409) | Cod sursa (job #793317) | Cod sursa (job #1113634) | Cod sursa (job #1673389) | Cod sursa (job #13381)
Cod sursa(job #13381)
var f,g:text;
a,b,x,m,fact,suma,p,r:longint;
ok:boolean;
begin
assign(f,'fact.in');
reset(f);
read(f,p);
close(f);
b:=2000000000;
a:=0;
ok:=true;
suma:=0;
assign(g,'fact.out');
rewrite(g);
while (a<>b)and(ok) do
begin
x:=(a+b) div 2;
fact:=5;
m:=x;
suma:=0;
while x div fact<>0 do
begin
suma:=suma+x div fact;
fact:=fact*5;
end;
if suma=p then
begin
while (suma=p)and(m>0) do
begin
m:=m-1;
r:=m;
fact:=5;
suma:=0;
ok:=false;
while r div fact<>0 do
begin
suma:=suma+r div fact;
fact:=fact*5;
end;
end;
write(g,m+1);
end
else
if suma<p then
begin
a:=(a+b) div 2;
end
else
if suma >p then
b:=(a+b) div 2;
end;
if a=b then
write(g,-1);
close(g);
end.