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