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).
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
Keywords
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)
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]))
Comments