This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A349325 #24 Dec 22 2021 14:38:13 %S A349325 1,1,2,1,2,3,4,1,4,1,2,1,2,5,2,1,4,5,6,1,2,3,2,1,6,1,4,1,2,3,4,1,6,1, %T A349325 2,1,2,3,4,1,6,1,4,1,2,3,4,1,4,1,2,1,2,7,6,1,6,1,2,3,4,7,6,1,4,1,2,1, %U A349325 2,3,6,1,10,1,2,1,2,5,2,1,4,5,6,1,2,3,2 %N A349325 Number of times the Collatz plot started at n crosses the y = n line, or -1 if the number of crossings is infinite. %C A349325 The plots considered are the trajectories from n to 1 of the 3x+1 function, denoted by T(x) in the literature, defined as T(x) = (3x+1)/2 if x is odd, T(x) = x/2 if x is even (A014682). %C A349325 The starting value of the trajectory is considered a crossing. %C A349325 A similar sequence for the "standard" Collatz function (A006370) is A304030. %C A349325 Conjecture: every positive integer appears in the sequence infinitely many times. %D A349325 J. C. Lagarias, ed., The Ultimate Challenge: The 3x+1 Problem, American Mathematical Society, 2010. %H A349325 J. C. Lagarias, <a href="https://arxiv.org/abs/2111.02635">The 3x+1 Problem: An Overview</a>, arXiv:2111.02635 [math.NT], 2021. %H A349325 <a href="/index/3#3x1">Index entries for sequences related to 3x+1 (or Collatz) problem</a> %F A349325 a(2^k) = 1, for integers k >= 0. %F A349325 a(A166245(m)) = 1 for m>=1. - _Michel Marcus_, Nov 16 2021 %e A349325 The trajectory starting at 7 is 7 -> 11 -> 17 -> 26 -> 13 -> 20 -> 10 -> 5 -> 8 -> 4 -> 2 -> 1, so the Collatz plot crosses the y = 7 line at the beginning, from 10 to 5, from 5 to 8 and from 8 to 4, for a total of 4 times. a(7) is therefore 4. %t A349325 nterms=100;Table[h=1;prevc=c=n;While[c>1,If[OddQ[c],c=(3c+1)/2;If[prevc<n&&c>n,h++],c/=2^IntegerExponent[c,2];If[prevc>n&&c<n,h++]];prevc=c];h,{n,nterms}] %o A349325 (Python) %o A349325 def A349325(n): %o A349325 prevc = c = n %o A349325 h = 1 %o A349325 while c > 1: %o A349325 if c % 2: %o A349325 c = (3*c+1) // 2 %o A349325 if prevc < n and c > n: h += 1 %o A349325 else: %o A349325 c //= 2 %o A349325 if prevc > n and c < n: h += 1 %o A349325 prevc = c %o A349325 return h %o A349325 print([A349325(n) for n in range(1, 100)]) %o A349325 (PARI) f(n) = if (n%2, (3*n+1)/2, n/2); \\ A014682 %o A349325 a(n) = {my(nb=1, prec=n, next); while (prec != 1, next = f(prec); if ((next-n)*(prec-n) <0, nb++); prec = next;); nb;} \\ _Michel Marcus_, Nov 16 2021 %Y A349325 Cf. A006370, A014682, A070168, A166245, A304030. %K A349325 nonn %O A349325 1,3 %A A349325 _Paolo Xausa_, Nov 15 2021