Pagini recente » Cod sursa (job #2414465) | Cod sursa (job #564151) | Cod sursa (job #2259685) | Cod sursa (job #459326) | Cod sursa (job #564241)
Cod sursa(job #564241)
const put=12;
p:array[1..put] of int64=(5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625);
var i, pp:longint;
f, g:text;
n, st, dr:int64;
function fact (x:int64):longint;
var t:longint;
begin
t:=0;
for i := 1 to put do t:=t+(x div p[i]);
fact:=t;
end;
begin
assign (f, 'fact.in'); reset (f);
assign (g, 'fact.out'); rewrite (g);
readln (f, pp);
st:=1; dr:=400000016;
while st < dr do
begin
n:=(st+dr) div 2;
if fact(n)<pp then st:=n+1
else dr:=n;
end;
if pp = fact (st) then writeln (g, st)
else writeln (g, '-1');
close (f); close (g);
end.