Pagini recente » Cod sursa (job #323881) | Cod sursa (job #1652985) | Cod sursa (job #568314) | Cod sursa (job #2663999) | Cod sursa (job #525195)
Cod sursa(job #525195)
program factorial;
var p,gasit:longint;
f,g:text;
function nrdezero(x:longint):longint;
var c,d:longint;
begin
d:=0;
c:=x;
repeat
c:=c div 5;
d:=d+c
until c=0;
nrdezero:=d
end;
procedure caut(s,d,nr:longint);
var m:longint;
begin
m:=nrdezero((s+d)div 2);
if m=nr then
begin
gasit:=(s+d) div 2;
while not(gasit mod 5 = 0) do
gasit:=gasit-1
end
else
if s<>d then
if m>nr then
caut (s,(s+d) div 2,nr)
else
caut ((s+d) div 2 + 1,d,nr)
end;
begin
assign(f,'fact.in');
reset(f);
readln(f,p);
close(f);
gasit:=-1;
caut(1,5*p,p);
assign(g,'fact.out');
rewrite(g);
writeln(g,gasit);
close(g);
end.