%I #70 Jul 22 2024 08:27:51
%S 1,2,8,3,6,9,17,4,20,7,15,10,10,18,18,5,13,21,21,8,8,16,16,11,24,11,
%T 112,19,19,19,107,6,27,14,14,22,22,22,35,9,110,9,30,17,17,17,105,12,
%U 25,25,25,12,12,113,113,20,33,20,33,20,20,108,108,7,28,28,28,15,15,15,103
%N a(n) = (1 + number of halving and tripling steps to reach 1 in the Collatz (3x+1) problem), or -1 if 1 is never reached.
%C The number of steps (iterations of the map A006370) to reach 1 is given by A006577, this sequence counts 1 more. - _M. F. Hasler_, Nov 05 2017
%C When Collatz 3N+1 function is seen as an isometry over the dyadics, the halving step necessarily following each tripling is not counted, hence N -> N/2, if even, but N -> (3N+1)/2, if odd. Counting iterations of this map until reaching 1 leads to sequence A064433. [Michael Vielhaber (vielhaber(AT)gmail.com), Nov 18 2009]
%D R. K. Guy, Unsolved Problems in Number Theory, E16.
%H Reinhard Zumkeller, <a href="/A008908/b008908.txt">Table of n, a(n) for n = 1..10000</a>
%H J. C. Lagarias, <a href="http://www.cecm.sfu.ca/organics/papers/lagarias/paper/html/paper.html">The 3x+1 problem and its generalizations</a>, Amer. Math. Monthly, 92 (1985), 3-23.
%H Nitrxgen, <a href="http://www.nitrxgen.net/collatz/">Collatz Calculator</a>
%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Collatz_conjecture">Collatz conjecture</a>
%H <a href="/index/3#3x1">Index entries for sequences related to 3x+1 (or Collatz) problem</a>
%F a(n) = A006577(n) + 1.
%F a(n) = f(n,1) with f(n,x) = if n=1 then x else f(A006370(n),x+1).
%F a(A033496(n)) = A159999(A033496(n)). - _Reinhard Zumkeller_, May 04 2009
%F a(n) = A006666(n) + A078719(n).
%F a(n) = length of n-th row in A070165. - _Reinhard Zumkeller_, May 11 2013
%p a:= proc(n) option remember; 1+`if`(n=1, 0,
%p a(`if`(n::even, n/2, 3*n+1)))
%p end:
%p seq(a(n), n=1..100); # _Alois P. Heinz_, Jan 29 2021
%t Table[Length[NestWhileList[If[EvenQ[ # ], #/2, 3 # + 1] &, i, # != 1 &]], {i, 75}]
%o (Haskell)
%o a008908 = length . a070165_row
%o -- _Reinhard Zumkeller_, May 11 2013, Aug 30, Jul 19 2011
%o (PARI) a(n)=my(c=1); while(n>1, n=if(n%2, 3*n+1, n/2); c++); c \\ _Charles R Greathouse IV_, May 18 2015
%o (Python)
%o def a(n):
%o if n==1: return 1
%o x=1
%o while True:
%o if n%2==0: n//=2
%o else: n = 3*n + 1
%o x+=1
%o if n<2: break
%o return x
%o print([a(n) for n in range(1, 101)]) # _Indranil Ghosh_, Apr 15 2017
%Y Cf. A006577, A006370, A006667, A075677.
%K nonn,nice,look
%O 1,2
%A _N. J. A. Sloane_, _Bill Gosper_
%E More terms from Larry Reeves (larryr(AT)acm.org), Apr 27 2001
%E "Escape clause" added to definition by _N. J. A. Sloane_, Jun 06 2017
%E Edited by _M. F. Hasler_, Nov 05 2017