%I #79 Mar 27 2024 10:42:33
%S 1,2,16,4,16,16,52,8,52,16,52,16,40,52,160,16,52,52,88,20,64,52,160,
%T 24,88,40,9232,52,88,160,9232,32,100,52,160,52,112,88,304,40,9232,64,
%U 196,52,136,160,9232,48,148,88,232,52,160,9232,9232,56,196,88,304,160,184,9232
%N Largest value in '3x+1' trajectory of n.
%C Here by definition the trajectory ends when 1 is reached. Therefore this sequence differs for n = 1 and n = 2 from A056959, which considers the orbit ending in the infinite loop 1 -> 4 -> 2 -> 1.
%C a(n) = A220237(n,A006577(n)). - _Reinhard Zumkeller_, Jan 03 2013
%C A006885 and A006884 give record values and where they occur. - _Reinhard Zumkeller_, May 11 2013
%C For n > 2, a(n) is divisible by 4. See the explanatory comment in A056959. - _Peter Munn_, Oct 14 2019
%C In an email of Aug 06 2023, Guy Chouraqui observes that the digital root of a(n) appears to be either 7 or a multiple of 4 for all n > 2. (See also A006885.) - _N. J. A. Sloane_, Aug 11 2023
%H T. D. Noe, <a href="/A025586/b025586.txt">Table of n, a(n) for n = 1..10000</a>
%H Christian Hercher, <a href="https://cs.uwaterloo.ca/journals/JIS/VOL26/Hercher/hercher5.html">There are no Collatz m-Cycles with m <= 91</a>, J. Int. Seq. (2023) Vol. 26, Article 23.3.5.
%H Philippe Picart, <a href="http://trucsmaths.free.fr/js_syracuse.htm">Algorithme de Collatz et conjecture de Syracuse</a>
%H <a href="/index/3#3x1">Index entries for sequences related to 3x+1 (or Collatz) problem</a>
%e The 3x + 1 trajectory of 9 is 9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 (see A033479). Since the largest number in that sequence is 52, a(9) = 52.
%p a:= proc(n) option remember; `if`(n=1, 1,
%p max(n, a(`if`(n::even, n/2, 3*n+1))))
%p end:
%p seq(a(n), n=1..87); # _Alois P. Heinz_, Oct 16 2021
%t collatz[a0_Integer, maxits_:1000] := NestWhileList[If[EvenQ[#], #/2, 3# + 1] &, a0, Unequal[#, 1, -1, -10, -34] &, 1, maxits]; (* collatz[n] function definition by Eric Weisstein *) Flatten[Table[Take[Sort[Collatz[n], Greater], 1], {n, 60}]] (* _Alonso del Arte_, Nov 14 2007 *)
%t collatzMax[n_] := Module[{r = m = n}, While[m > 2, If[OddQ[m], m = 3 * m + 1; If[m > r, r = m], m = m/2]]; r]; Table[ collatzMax[n], {n, 100}] (* _Jean-François Alcover_, Jan 28 2015, after _Charles R Greathouse IV_ *)
%t (* Using Weisstein's collatz[n] definition above *) Table[Max[collatz[n]], {n, 100}] (* _Alonso del Arte_, May 25 2019 *)
%o (PARI) a(n)=my(r=n);while(n>2,if(n%2,n=3*n+1;if(n>r,r=n),n/=2));r \\ _Charles R Greathouse IV_, Jul 19 2011
%o (Haskell)
%o a025586 = last . a220237_row
%o -- _Reinhard Zumkeller_, Jan 03 2013, Aug 29 2012
%o (Python)
%o def a(n):
%o if n<2: return 1
%o l=[n, ]
%o while True:
%o if n%2==0: n//=2
%o else: n = 3*n + 1
%o if not n in l:
%o l+=[n, ]
%o if n<2: break
%o else: break
%o return max(l)
%o print([a(n) for n in range(1, 101)]) # _Indranil Ghosh_, Apr 14 2017
%o (Scala) def collatz(n: Int): Int = (n % 2) match {
%o case 0 => n / 2
%o case 1 => 3 * n + 1
%o }
%o def collatzTrajectory(start: Int): List[Int] = if (start == 1) List(1)
%o else {
%o import scala.collection.mutable.ListBuffer
%o var curr = start; var trajectory = new ListBuffer[Int]()
%o while (curr > 1) { trajectory += curr; curr = collatz(curr) }
%o trajectory.toList
%o }
%o for (n <- 1 to 100) yield collatzTrajectory(n).max // _Alonso del Arte_, Jun 02 2019
%Y Essentially the same as A056959: only a(1) and a(2) differ, see Comments.
%Y Cf. A006370, A006577, A006884, A006885, A220237.
%K nonn,nice,look
%O 1,2
%A _David W. Wilson_