%I #27 Aug 20 2017 10:58:19
%S 0,1,7,2,5,8,16,3,11,6,14,9,9,17,17,4,12,12,20,7,7,15,15,10,23,10,23,
%T 10,18,18,31,5,18,13,13,13,13,21,26,8,21,8,21,16,16,16,29,11,16,16,24,
%U 11,11,24,24,11,24,19,24,19,19,32,32,6,19,19,27,14,14,14,27,14,27,14,14,22,22,27,27,9,22,22,22,9,9,22,22,17,22,17,30,17,17,30,30,12,30,17,17,17
%N a(n) = minimal number of steps to get from n to 1, where a step is x -> 3x+1 if x is odd, or x -> either x/2 or 3x+1 if x is even; or -1 if 1 is never reached.
%C In contrast to the "3x+1" problem (see A006577), here you are free to choose either step if x is even.
%C See A125731 for the number of steps in the reverse direction, from 1 to n.
%D M. J. Halm, Sequences (Re)discovered, Mpossibilities 81 (Aug. 2002), p. 1.
%H David Applegate, <a href="/A127885/b127885.txt">Table of n, a(n) for n = 1..1000</a>
%H <a href="/index/3#3x1">Index entries for sequences related to 3x+1 (or Collatz) problem</a>
%F a(1) = 0; and for n > 1, if n is odd, a(n) = 1 + a(3n+1), and if n is even, a(n) = 1 + min(a(3n+1),a(n/2)). [But with a similar caveat as in A257265] - _Antti Karttunen_, Aug 20 2017
%e Several early values use the path:
%e 6 -> 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1.
%e The first path where choosing 3x+1 for even x helps is:
%e 9 -> 28 -> 85 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1.
%p # Code from _David Applegate_: Be careful - the function takes an iteration limit and returns the limit if it wasn't able to determine the answer (that is, if A127885(n,lim) == lim, all you know is that the value is >= lim). To use it, do manual iteration on the limit.
%p A127885 := proc(n,lim) local d,d2; options remember;
%p if (n = 1) then return 0; end if;
%p if (lim <= 0) then return 0; end if;
%p if (n > 2 ^ lim) then return lim; end if;
%p if (n mod 2 = 0) then
%p d := A127885(n/2,lim-1);
%p d2 := A127885(3*n+1,d);
%p if (d2 < d) then d := d2; end if;
%p else
%p d := A127885(3*n+1,lim-1);
%p end if;
%p return 1+d;
%p end proc;
%t Table[-1 + Length@ NestWhileList[Flatten[# /. {k_ /; OddQ@ k :> 3 k + 1, k_ /; EvenQ@ k :> {k/2, 3 k + 1}}] &, {n}, FreeQ[#, 1] &], {n, 126}] (* _Michael De Vlieger_, Aug 20 2017 *)
%o (PARI) { A127885(n) = my(S,k); S=[n]; k=0; while( S[1]!=1, k++; S=vecsort( concat(apply(x->3*x+1,S), apply(x->x\2, select(x->x%2==0,S) )),,8); ); k } /* _Max Alekseyev_, Sep 03 2015 */
%Y A127886 gives the difference between A006577 and this sequence.
%Y Cf. A006577, A125731, A127887, A125195, A125686, A125719, A261870.
%Y Cf. A290100 (size of the final set when using Alekseyev's algorithm).
%Y Cf. also A257265.
%K nonn
%O 1,3
%A _David Applegate_ and _N. J. A. Sloane_, Feb 04 2007
%E Escape clause added to definition by _N. J. A. Sloane_, Aug 20 2017
|