login
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.
11

%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