cp's OEIS Frontend

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.

Showing 1-1 of 1 results.

A351224 Length of record run of consecutive numbers having the same Collatz trajectory length.

Original entry on oeis.org

1, 2, 3, 5, 6, 7, 8, 9, 14, 17, 25, 27, 29, 30, 40, 41, 47, 52, 54, 60, 65, 77, 89, 96, 98, 120, 127, 130, 136, 152, 174, 176
Offset: 1

Views

Author

Nathan John Eaves, Feb 04 2022

Keywords

Comments

It appears that this sequence is infinite.
For every record number of consecutive identical terms in A006577, the run length is a term of this sequence.
This sequence is interesting because when A006577 is graphed on a scatter plot, it is immediately obvious that there are many runs of terms having the same value.
This sequence is related to A351104 where instead it returns the run length of the records.

Examples

			a(10)=17 since the 10th record run of identical consecutive trajectory lengths has a run length of 17.
Used from A351104 by _Jon E. Schoenfield_.
      trajectory  numbers in run   run
   n    length    (1st is a(n))   length
  --  ----------  --------------  ------
   1        1        1               1
   2        9       12, 13           2
   3       18       28, 29, 30       3
   4       25       98 ...  102      5
   5      120      386 ...  391      6
   6       36      943 ...  949      7
   7       47     1494 ... 1501      8
   8       42     1680 ... 1688      9
   9       48     2987 ... 3000     14
  10       57     7083 ... 7099     17
		

Crossrefs

For first term of run see A351104.

Programs

  • Python
    import numpy as np
    def find_records(m):
        l=np.array([0]+[-1 for i in range(m-1)])
        for n in range(len(l)):
            path=[n+1]
            while path[-1]>m or l[path[-1]-1]==-1:
                if path[-1]%2==0:
                    path.append(path[-1]//2)
                else:
                    path.append(path[-1]*3+1)
            path.reverse()
            for i in range(1,len(path)):
                if path[i]<=m:
                    l[path[i]-1]=l[path[0]-1]+i
        seq=[]
        c,lsteps,record=1,0,0
        for n in range(1,len(l)):
            if l[n]==lsteps:
                c+=1
            else:
                if c>record:
                    record=c
                    seq.append(c)
                c=1
            lsteps=l[n]
        return seq
    print(", ".join([str(i) for i in find_records(1000000)]))
Showing 1-1 of 1 results.