Pagini recente » Cod sursa (job #1729284) | Cod sursa (job #1567999) | Cod sursa (job #1596005) | Cod sursa (job #2062503) | Cod sursa (job #85712)
Cod sursa(job #85712)
var n,i,p,j:int64;
f:text;
begin
i:=0;
p:=0;
assign(f,'fact.in');
reset(f); }
read(f,n);
close(f);
assign(f,'fact.out');
rewrite(f);
j:=5;
while j<n do
j:=j*j;
if j=n then writeln(f,-1) else
if n=0 then writeln(f,1)else
begin
while p+305175781<=n do
begin
i:=i+1220703125;
p:=p+305175781;
end;
while p+61035156<=n do
begin
i:=i+244140625;
p:=p+61035156;
end;
while p+12207031<=n do
begin
i:=i+48828125;
p:=p+12207031;
end;
while p+2441406<=n do
begin
i:=i+9765625;
p:=p+2441406;
end;
while p+488281<=n do
begin
i:=i+1953125;
p:=p+488281;
end;
while p+97656<=n do
begin
i:=i+390625;
p:=p+97656;
end;
while p+19531<=n do
begin
i:=i+78125;
p:=p+19531;
end;
while p+3906<=n do
begin
i:=i+15625;
p:=p+3906;
end;
while p+781<=n do
begin
i:=i+3125;
p:=p+781;
end;
while p+156<=n do
begin
i:=i+625;
p:=p+156;
end;
while p+31<=n do
begin
i:=i+125;
p:=p+31;
end;
while p+6<=n do
begin
i:=i+25;
p:=p+6;
end;
while p+1<=n do
begin
i:=i+5;
p:=p+1;
end;
writeln(f,i);
end;
close(f);
end.