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

A375495 a(n) = number of different ways of selecting the minimum number of operations chosen from f(x) = 3x+1 and g(x) = floor(x/2) needed to reach n when starting from 1.

Original entry on oeis.org

1, 1, 1, 2, 1, 4, 1, 1, 6, 1, 3, 1, 14, 1, 2, 5, 5, 1, 28, 1, 1, 4, 1, 9, 5, 9, 1, 48, 1, 1, 2, 3, 10, 1, 1, 15, 5, 23, 12, 2, 1, 131, 1, 3, 1, 4, 6, 3, 20, 5, 2, 1, 1, 27, 5, 43, 34, 25, 1, 4, 1, 1, 332, 1, 5, 5, 2, 1, 10, 8, 12, 3, 37, 5, 5, 4, 10, 2, 1, 1, 39, 5, 63, 68, 67
Offset: 0

Views

Author

Russell Y. Webb, Aug 18 2024

Keywords

Comments

The minimum number of operations is A375494(n) and that minimum is attained by a(n) different sequences of operations.

Crossrefs

Cf. A375494 (number of operations), A375496 (indices of 1's).

Programs

  • Python
    from itertools import product
    seq = [None for _ in range(200)]
    num = [   0 for _ in range(len(seq))]
    for L in range(0, 23):
       for P in product((True, False), repeat=L):
          x = 1
          for upward in P:
             x = 3*x+1 if upward else x//2
          if x < len(seq):
             if num[x] == 0 or L < seq[x]:
                seq[x], num[x] = L, 1
             elif L == seq[x]:
                num[x] += 1
    print(', '.join([str(x) for x in num]))

A375496 Nonnegative integers k which have a unique minimum length construction starting from 1 and choosing operations f(x) = 3x+1 or g(x) = floor(x/2).

Original entry on oeis.org

0, 1, 2, 4, 6, 7, 9, 11, 13, 17, 19, 20, 22, 26, 28, 29, 33, 34, 40, 42, 44, 51, 52, 58, 60, 61, 63, 67, 78, 79, 85, 87, 88, 90, 92, 100, 101, 103, 117, 119, 121, 127, 128, 132, 133, 135, 150, 152, 154, 155, 157, 175, 179, 181, 182, 184, 190, 191, 198, 200, 202, 225, 231, 233, 235
Offset: 0

Views

Author

Russell Y. Webb, Aug 31 2024

Keywords

Comments

A375495(k) is the number of ways to reach k by the minimum length construction and the present sequence is those k for which A375495(k) = 1.
This sequence is infinite, since k = f(f(f(...(1)))) (A003462) is always a unique minimum construction.
Experimentally, it is observed that many of the integers with unique smallest constructions have one or more g(x) steps in their construction and the position of those g(x) operations does not follow an obvious pattern; meaning that these unique constructions are complex and may be related to the complexity of the Hailstone sequences (A127933).

Examples

			9 is a term since the shortest sequence of f and g to reach 9 (length A375494(9) = 5) is unique g(f(g(f(f(1))))) = 9.
Here are some of the unique, smallest constructions. All other positive integers smaller than 28 do not have unique, smallest constructions.
0 = g(1)
1 = 1
2 = g◦f(1)
4 = f(1)
6 = g◦f◦f(1)
7 = f◦g◦f(1)
9 = g◦f◦g◦f◦f(1)
11 = g◦f◦f◦g◦f(1)
13 = f◦f(1)
17 = g◦f◦g◦f◦f◦g◦f(1)
19 = f◦g◦f◦f(1)
20 = g◦f◦f◦f(1)
22 = f◦f◦g◦f(1)
26 = g◦f◦g◦f◦g◦f◦f◦g◦f(1)
28 = f◦g◦f◦g◦f◦f(1)
		

Crossrefs

Cf. A375494 (minimum steps), A375495 (ways attained).

Programs

  • Python
    from itertools import product
    seq = [None for _ in range(200)]
    num = [   0 for _ in range(len(seq))]
    for L in range(0, 23):
       for P in product((True, False), repeat=L):
          x = 1
          for upward in P:
             x = 3*x+1 if upward else x//2
          if x < len(seq):
             if num[x] == 0 or L < seq[x]:
                seq[x], num[x] = L, 1
             elif L == seq[x]:
                num[x] += 1
    print(', '.join([str(i) for i,x in enumerate(num) if x==1]))
Showing 1-2 of 2 results.