login
The OEIS Foundation is supported by donations from users of the OEIS and by a grant from the Simons Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A060322 Consider the version of the Collatz or 3x+1 problem where x -> x/2 if x is even, x -> (3x+1)/2 if x is odd. Define the stopping time of x to be the number of steps needed to reach 1. Sequence gives the number of integers x with stopping time n. 3

%I

%S 1,1,1,1,2,3,4,5,6,8,12,18,24,31,39,50,68,91,120,159,211,282,381,505,

%T 665,885,1187,1590,2122,2829,3765,5014,6682,8902,11878,15844,21122,

%U 28150,37536,50067,66763,89009,118631,158171,210939,281334,375129

%N Consider the version of the Collatz or 3x+1 problem where x -> x/2 if x is even, x -> (3x+1)/2 if x is odd. Define the stopping time of x to be the number of steps needed to reach 1. Sequence gives the number of integers x with stopping time n.

%C The Mathematica function StoppingTime[n] is the length of the Collatz sequence starting at n before hitting 1.

%C I think the offset, examples, formula and code are all off by 1 - they all treat the stopping time of 1 to be 1, rather than 0. - David Applegate, Oct 16 2008

%C a(n+1), n >= 0, is the row length of A248573(n,m) (Collatz-Terras tree). For the first differences see A131450(n+1), but with A131450(2) = 1 (the number of 2 (mod 3) numbers in row n, for n>= 0, of A248573). - _Wolfdieter Lang_, May 04 2015

%H <a href="/index/3#3x1">Index entries for sequences related to 3x+1 (or Collatz) problem</a>

%F Suppose we have a list L of the numbers with StoppingTime n. Then the list LL of StoppingTime n+1 can be produced as: First. Add to LL all numbers in L multiplied by 2. Second. For the numbers x now in LL, if Mod[x, 3]==1, AppendTo LL the number (x-1)/3 (if (x-1)/3!=1). These two steps make LL complete.

%e StoppingTime == 1: L = {1}, a(1)= 1. StoppingTime == 2: L = {2}, a(2)= 1. StoppingTime == 3: L = {4}, a(3)= 1. StoppingTime == 4: L = {8}, a(4)= 1. StoppingTime == 5: L = {5, 16}, a(5)= 2. First, LL = {10, 32} ( = 2*L) Second, Mod[10, 3]==1, so we AppendTo LL also (10-1)/3 == 3. We get LL = {3, 10, 32}. So a(6) == 3.

%t (*** Program #1 ***) For[v = 1, v <= 12, v++, lst = {}; For[n = 1, n < 2^v, n++, If[StoppingTime[n] == v, AppendTo[lst, n]]]; Print[lst]; Print[Length[lst]]; ]

%t (*** Program #2 ***) lst1 = {1}; For[v = 1, v <= 12, v++, L1 = Length[lst1]; Print["Number of numbers with StoppingTime ", v, ": ", L1]; Print["List of numbers: ", lst1]; (* Numbers with StoppingTime n *) Print["Control of StoppingTime: ", Map[StoppingTime, lst1]]; (* Controll *) Print[""]; lst2 = 2 lst1; For[i = 1, i <= L1, i++, x = (lst2[[i]] - 1)/3; If[IntegerQ[x] && x != 1, AppendTo[lst2, x]]; ]; lst1 = Sort[lst2]; ]

%t (*** Program #3 ***) lst0 = {}; lst1 = {1}; For[v = 1, v <= 35, v++, L1 = Length[lst1]; AppendTo[lst0, L1]; lst2 = 2 lst1; For[i = 1, i <= L1, i++, x = (lst2[[i]] - 1)/3; If[IntegerQ[x], AppendTo[lst2, x]]; ]; lst1 = Complement[lst2, {1}]; ]; lst0

%o #Perl code to calculate terms after a(4): @x=(8,0);for($n=5;$n<=60;$n++){do{$q=2*shift(@x);push(@x,($q-1)/3)if($q%3==1);push @x,$q}while $q;print($#x,", ");} - _Carl R. White_, Oct 03 2006

%Y See A005186 for another version. A248573, A131450.

%K nonn

%O 1,5

%A Bo T. Ahlander (ahlboa(AT)isk.kth.se), Mar 29 2001

%E More terms from _Carl R. White_, Oct 03 2006

%E Edited by _N. J. A. Sloane_, Sep 15 2007

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified February 18 09:15 EST 2020. Contains 332011 sequences. (Running on oeis4.)