Pagini recente » Cod sursa (job #2957409) | Cod sursa (job #21922) | Cod sursa (job #992385) | Cod sursa (job #746834) | Cod sursa (job #62558)
Cod sursa(job #62558)
{$mode objfpc}
{$coperators on}
type
integer=dword;
function min(a,b:integer):integer;inline;
begin
if(a<b)then
exit(a);
Result:=b;
end;
function test(n:integer):integer;inline;
var
pow2:integer=0;
pow5:integer=0;
tmp:integer;
begin
tmp:=n;
while tmp>0 do
begin
tmp:=tmp div 2;
pow2+=tmp;
end;
tmp:=n;
while tmp>0 do
begin
tmp:=tmp div 5;
pow5+=tmp;
end;
Result:=min(pow2,pow5);
end;
var
n:integer;
function cb(min,max:integer):integer;
var
x,p:integer;
begin
if min<=max then
begin
p:=(min+max) div 2;
x:=test(p);
if x<n then
Result:=cb(p,max)
else if x>n then
Result:=cb(min,p)
else
begin
dec(p);
while (p>0)and(test(p)=n) do dec(p);
Result:=p+1;
end;
end;
end;
begin
assign(input,'fact.in');
assign(output,'fact.out');
reset(input);
rewrite(output);
readln(n);
writeln(cb(1,400000015));
close(input);
close(output);
end.