%I #24 Sep 02 2023 04:35:58
%S 2,1,2,4,1,3,3,1,9,2,1,2,4,1,8,5,1,3,2,1,2,3,1,9,7,1,4,2,1,2,5,1,3,3,
%T 1,4,2,1,2,8,1,6,4,1,3,2,1,2,3,1,5,4,1,6,2,1,2,7,1,3,3,1,6,2,1,2,7,1,
%U 4,5,1,3,2,1,2,3,1,4,7,1,10,2,1,2,4,1,3,3,1,5,2,1,2,4,1,8,6,1,3
%N Number of steps for iteration of map x -> (5/3)*floor(x) to reach an integer > n when started at n, or -1 if no such integer is ever reached.
%C It is conjectured that an integer is always reached.
%H Robert Israel, <a href="/A087704/b087704.txt">Table of n, a(n) for n = 2..10000</a>
%H J. C. Lagarias and N. J. A. Sloane, Approximate squaring (<a href="http://neilsloane.com/doc/apsq.pdf">pdf</a>, <a href="http://neilsloane.com/doc/apsq.ps">ps</a>), Experimental Math., 13 (2004), 113-128.
%F a(n) = a(n + m) if a(n) > 0 and m is a (positive or negative) multiple of 3^a(n). - _Robert Israel_, Sep 01 2023
%p f2 := proc(x,y) x*floor(y); end; r := 5/3; h := proc(x) local n,y; global r; y := f2(r,x); for n from 1 to 20 do if whattype(y) = 'integer' then RETURN([x,n,y]); else y := f2(r,y); fi; od: RETURN(['NULL','NULL','NULL']); end; [seq(h(n)[2],n=2..60)];
%o (Python)
%o from fractions import Fraction
%o def A087704(n):
%o x, c = Fraction(n,1), 0
%o while x.denominator > 1 or x<=n:
%o x = Fraction(5*x.__floor__(),3)
%o c += 1
%o return c # _Chai Wah Wu_, Sep 01 2023
%Y Cf. A087705, A087706, A087707.
%K nonn
%O 2,1
%A _N. J. A. Sloane_, Sep 29 2003