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-5 of 5 results.

A335505 Triangle read by rows, 0 <= k < n, n >= 1: T(n,k) is the eventual period of the sequence x(j) (or 0 if x(j) never enters a cycle) defined as follows: x(0) = 1 and for j > 1 x(j) is obtained from 5*x(j-1) by deleting all occurrences of the digit k in base n.

Original entry on oeis.org

0, 1, 1, 6, 1, 1, 4, 1, 1, 2, 1, 1, 0, 0, 0, 6, 60, 6, 30, 2, 1, 48, 2, 3, 12, 0, 1, 6, 156, 14, 22, 2, 18, 1, 34, 78, 12, 36, 3, 48, 0, 1, 138, 198, 10, 684, 1, 1, 2, 20, 1, 2, 0, 22, 1872, 495, 2, 50, 315, 0, 1, 405, 245, 2780, 0, 1440
Offset: 1

Views

Author

Pontus von Brömssen, Jun 13 2020

Keywords

Comments

T(1,0) = 0 is defined in order to make the triangle of numbers regular.
T(n,k) = 1 whenever k is a power of 5 and k > 1.

Examples

			Triangle begins:
   n\k   0    1    2    3    4    5    6    7    8    9
  -----------------------------------------------------
   1:    0
   2:    1    1
   3:    6    1    1
   4:    4    1    1    2
   5:    1    1    0    0    0
   6:    6   60    6   30    2    1
   7:   48    2    3   12    0    1    6
   8:  156   14   22    2   18    1   34   78
   9:   12   36    3   48    0    1  138  198   10
  10:  684    1    1    2   20    1    2    0   22 1872
T(10,7) = 0 because A335506 never enters a cycle.
		

Crossrefs

Programs

  • Python
    from sympy.ntheory.factor_ import digits
    from functools import reduce
    def drop(x,n,k):
      # Drop all digits k from x in base n.
      return reduce(lambda x,j:n*x+j if j!=k else x,digits(x, n)[1:],0)
    def cycle_length(n,k,m):
      # Brent's algorithm for finding cycle length.
      # Note: The function may hang if the sequence never enters a cycle.
      if (m,n,k)==(5,10,7):
        return 0 # A little cheating; see A335506.
      p=1
      length=0
      tortoise=hare=1
      nz=0
      while True:
        hare=drop(m*hare,n,k)
        while hare and hare%n==0:
          hare//=n
          nz+=1 # Keep track of the number of trailing zeros.
        length+=1
        if tortoise==hare:
          break
        if p==length:
          tortoise=hare
          nz=0
          p*=2
          length=0
      return length if not nz else 0
    def A335505(n,k):
      return cycle_length(n,k,5) if n>1 else 0

A335502 Triangle read by rows, 0 <= k < n, n >= 1: T(n,k) is the eventual period of the sequence x(j) (or 0 if x(j) never enters a cycle) defined as follows: x(0) = 1 and for j > 1 x(j) is obtained from 2*x(j-1) by deleting all occurrences of the digit k in base n.

Original entry on oeis.org

0, 1, 1, 4, 1, 1, 2, 1, 1, 0, 4, 1, 1, 3, 1, 12, 2, 1, 6, 1, 4, 78, 1, 1, 6, 1, 3, 6, 3, 1, 1, 0, 1, 0, 0, 0, 6, 1, 1, 18, 1, 4, 36, 4, 1, 36, 4, 1, 4, 1, 8, 4, 72, 1, 540, 100, 1, 1, 16, 1, 4, 17, 0, 1, 8, 4, 90, 2, 1, 12, 1, 4, 14, 6, 1, 4, 4, 240
Offset: 1

Views

Author

Pontus von Brömssen, Jun 13 2020

Keywords

Comments

T(1,0) = 0 is defined in order to make the triangle of numbers regular.
One way of getting T(n,k) = 0 is to have x(j) = x(i)*n^e for some j > i and e > 0. For k < n <= 48, this is the only way to get T(n,k) = 0 (but see A335506 for another situation where the x-sequence is not periodic).
T(n,k) = 1 whenever k is a power of 2 and k > 1.
It seems that k = 0 and k = n-1 often lead to particularly long cycles.

Examples

			Triangle begins:
   n\k  0   1   2   3   4   5   6   7   8   9  10  11
  ---------------------------------------------------
   1:   0
   2:   1   1
   3:   4   1   1
   4:   2   1   1   0
   5:   4   1   1   3   1
   6:  12   2   1   6   1   4
   7:  78   1   1   6   1   3   6
   8:   3   1   1   0   1   0   0   0
   9:   6   1   1  18   1   4  36   4   1
  10:  36   4   1   4   1   8   4  72   1 540
  11: 100   1   1  16   1   4  17   0   1   8   4
  12:  90   2   1  12   1   4  14   6   1   4   4 240
For n = 10 and k = 5, the x-sequence starts 1, 2, 4, 8, 16, 32, 64, 128, 26, 2, and then repeats with a period of 8, so T(10,5) = 8.
T(10,0) = 36, because A242350 eventually enters a cycle of length 36.
For n=11 and k=7, the x-sequence starts (in base 11) 1, 2, 4, 8, 15, 2A, 59, 10. Disregarding trailing zeros, the sequence then repeats with period 7 and x(i+7*j) = x(i)*11^j for positive i and j. The x-sequence itself is therefore not eventually periodic, so T(11,7)=0.
		

Crossrefs

Programs

  • Python
    from sympy.ntheory.factor_ import digits
    from functools import reduce
    def drop(x,n,k):
      # Drop all digits k from x in base n.
      return reduce(lambda x,j:n*x+j if j!=k else x,digits(x, n)[1:],0)
    def cycle_length(n,k,m):
      # Brent's algorithm for finding cycle length.
      # Note: The function may hang if the sequence never enters a cycle.
      if (m,n,k)==(5,10,7):
        return 0 # A little cheating; see A335506.
      p=1
      length=0
      tortoise=hare=1
      nz=0
      while True:
        hare=drop(m*hare,n,k)
        while hare and hare%n==0:
          hare//=n
          nz+=1 # Keep track of the number of trailing zeros.
        length+=1
        if tortoise==hare:
          break
        if p==length:
          tortoise=hare
          nz=0
          p*=2
          length=0
      return length if not nz else 0
    def A335502(n,k):
      return cycle_length(n,k,2) if n>1 else 0

A335503 Triangle read by rows, 0 <= k < n, n >= 1: T(n,k) is the eventual period of the sequence x(j) (or 0 if x(j) never enters a cycle) defined as follows: x(0) = 1 and for j > 1 x(j) is obtained from 3*x(j-1) by deleting all occurrences of the digit k in base n.

Original entry on oeis.org

0, 1, 1, 1, 1, 0, 12, 1, 2, 1, 28, 1, 0, 1, 2, 64, 1, 2, 1, 2, 4, 60, 4, 2, 1, 4, 0, 2, 54, 1, 2, 1, 62, 16, 2, 48, 2, 1, 0, 1, 0, 0, 0, 0, 0, 80, 40, 4, 1, 20, 2000, 60, 72, 4, 1, 40, 20, 5, 1, 85, 240, 5, 5, 20, 1, 320, 1260, 128, 2, 1, 272, 4, 2, 48, 68, 1, 20, 1440
Offset: 1

Views

Author

Pontus von Brömssen, Jun 13 2020

Keywords

Comments

T(1,0) = 0 is defined in order to make the triangle of numbers regular.
T(n,k) = 1 whenever k is a power of 3 and k>1.

Examples

			Triangle begins:
   n\k   0    1    2    3    4    5    6    7    8    9   10   11
  ---------------------------------------------------------------
   1:    0
   2:    1    1
   3:    1    1    0
   4:   12    1    2    1
   5:   28    1    0    1    2
   6:   64    1    2    1    2    4
   7:   60    4    2    1    4    0    2
   8:   54    1    2    1   62   16    2   48
   9:    2    1    0    1    0    0    0    0    0
  10:   80   40    4    1   20 2000   60   72    4    1
  11:   40   20    5    1   85  240    5    5   20    1  320
  12: 1260  128    2    1  272    4    2   48   68    1   20 1440
T(10,0) = 80, because A243845 eventually enters a cycle of length 80.
		

Crossrefs

Programs

  • Python
    from sympy.ntheory.factor_ import digits
    from functools import reduce
    def drop(x,n,k):
      # Drop all digits k from x in base n.
      return reduce(lambda x,j:n*x+j if j!=k else x,digits(x, n)[1:],0)
    def cycle_length(n,k,m):
      # Brent's algorithm for finding cycle length.
      # Note: The function may hang if the sequence never enters a cycle.
      if (m,n,k)==(5,10,7):
        return 0 # A little cheating; see A335506.
      p=1
      length=0
      tortoise=hare=1
      nz=0
      while True:
        hare=drop(m*hare,n,k)
        while hare and hare%n==0:
          hare//=n
          nz+=1 # Keep track of the number of trailing zeros.
        length+=1
        if tortoise==hare:
          break
        if p==length:
          tortoise=hare
          nz=0
          p*=2
          length=0
      return length if not nz else 0
    def A335503(n,k):
      return cycle_length(n,k,3) if n>1 else 0

A335504 Triangle read by rows, 0 <= k < n, n >= 1: T(n,k) is the eventual period of the sequence x(j) (or 0 if x(j) never enters a cycle) defined as follows: x(0) = 1 and for j > 1 x(j) is obtained from 4*x(j-1) by deleting all occurrences of the digit k in base n.

Original entry on oeis.org

0, 1, 1, 2, 1, 1, 1, 1, 0, 0, 2, 24, 2, 2, 1, 16, 18, 1, 6, 1, 42, 33, 1, 1, 15, 1, 24, 3, 3, 1, 1, 0, 1, 0, 0, 0, 3, 1, 195, 27, 1, 465, 147, 2, 6, 1002, 18, 4, 42, 1, 66, 2, 10, 10, 738, 1660, 25, 5, 180, 1, 2, 15, 35, 150, 4, 1490
Offset: 1

Views

Author

Pontus von Brömssen, Jun 13 2020

Keywords

Comments

T(1,0) = 0 is defined in order to make the triangle of numbers regular.
T(n,k) = 1 whenever k is a power of 4 and k>1.

Examples

			Triangle begins:
   n\k   0    1    2    3    4    5    6    7    8    9
  -----------------------------------------------------
   1:    0
   2:    1    1
   3:    2    1    1
   4:    1    1    0    0
   5:    2   24    2    2    1
   6:   16   18    1    6    1   42
   7:   33    1    1   15    1   24    3
   8:    3    1    1    0    1    0    0    0
   9:    3    1  195   27    1  465  147    2    6
  10: 1002   18    4   42    1   66    2   10   10  738
		

Crossrefs

Programs

  • Python
    from sympy.ntheory.factor_ import digits
    from functools import reduce
    def drop(x,n,k):
      # Drop all digits k from x in base n.
      return reduce(lambda x,j:n*x+j if j!=k else x,digits(x, n)[1:],0)
    def cycle_length(n,k,m):
      # Brent's algorithm for finding cycle length.
      # Note: The function may hang if the sequence never enters a cycle.
      if (m,n,k)==(5,10,7):
        return 0 # A little cheating; see A335506.
      p=1
      length=0
      tortoise=hare=1
      nz=0
      while True:
        hare=drop(m*hare,n,k)
        while hare and hare%n==0:
          hare//=n
          nz+=1 # Keep track of the number of trailing zeros.
        length+=1
        if tortoise==hare:
          break
        if p==length:
          tortoise=hare
          nz=0
          p*=2
          length=0
      return length if not nz else 0
    def A335504(n,k):
      return cycle_length(n,k,4) if n>1 else 0

A243845 Numbers generated by recursive procedure a(n) = nozero(a(n-1) * 3), in which the function nozero(x) removes all zeros from x, starting with a(1) = 1.

Original entry on oeis.org

1, 3, 9, 27, 81, 243, 729, 2187, 6561, 19683, 5949, 17847, 53541, 16623, 49869, 14967, 4491, 13473, 4419, 13257, 39771, 119313, 357939, 173817, 521451, 1564353, 469359, 14877, 44631, 133893, 41679, 12537, 37611, 112833, 338499, 115497, 346491, 139473, 418419
Offset: 1

Views

Author

Anthony Sand, Jun 12 2014

Keywords

Comments

Numbers in the following sequence: Let a(1) = 1, then begin the recursive sequence a(n) = nozero(a(n-1) * 3), where the function nozero(x) removes all zeros from x.
The sequence returns standard powers of 3 until step 11, where a(11) = nozero(19683 * 3) = nozero(59049) = 5949.
At step 28, a(28) = nozero(469359 * 3) = nozero(1408077) = 14877. At step 108, a(108) = nozero(4959 * 3) = 14877. Therefore a(28) = a(108) and the sequence repeats. Because this is the first instance where a member of this sequence is repeated one has a(n + L) = a(n) for n >= 28 with the primitive (least) period length L = 108 - 28 = 80.

Examples

			a(2) = nozero(3*a(1)) = nozero(3) = 3.
		

Crossrefs

Programs

  • Mathematica
    NestList[FromDigits@ DeleteCases[IntegerDigits[3 #], ?(# == 0 &)] &, 1, 38] (* _Michael De Vlieger, Jun 27 2020 *)
  • Sage
    L=[1]
    for i in [1..108]:
        T=(3*L[i-1]).digits(base=10)
        TT=filter(lambda a: a != 0, T)
        L.append(sum(TTi*10^i for i, TTi in enumerate(TT)))
    L # - Tom Edgar, Jun 17 2014

Formula

a(n) = A004719(a(n-1) * 3) for n>1, a(1) = 1.

Extensions

Edited: Name, comments and formula reformulated. - Wolfdieter Lang, Jul 13 2014
Showing 1-5 of 5 results.