Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%I #4 Dec 07 2021 18:16:31
%S 0,1,1,1,3,4,8,13,23,38,68,114,201,343,600,1037,1817,3157,5543,9692,
%T 17047,29952,52828,93157,164743,291459,516679,916626,1628684,2896261,
%U 5156925,9189769,16393652,29268223,52300907,93529331,167390342,299787639,537281476
%N Inverse Euler transform of the classical tribonacci numbers.
%C The classical tribonacci numbers are defined a(n) = a(n-1) + a(n-2) + a(n-3) for n >= 3 with a(0) = 0 and a(1) = a(2) = 1.
%C See A349904 for the analogous sequence for the shifted tribonacci numbers A000073.
%t (* EulerInvTransform is defined in A022562. *)
%t EulerInvTransform[LinearRecurrence[{1, 1, 1}, {0, 1, 1}, 40]]
%o (Python) # After the Maple program of _Alois P. Heinz_ in A349904.
%o from functools import cache
%o from math import comb
%o def euler_inv_trans(a: callable, len: int):
%o @cache
%o def h(n: int, k: int):
%o if n == 0: return 1
%o if k < 1: return 0
%o bk = b(k)
%o R = range(int(bk == 0), 1 + n // k)
%o return sum(comb(bk + j - 1, j) * h(n - k * j, k - 1) for j in R)
%o @cache
%o def b(n: int): return a(n - 1) - h(n, n - 1)
%o return [b(n) for n in range(1, len)]
%o @cache
%o def tribonacci(n: int):
%o return sum(tribonacci(n - j - 1) for j in range(3)) if n >= 3 else min(n, 1)
%o print(euler_inv_trans(tribonacci, 40))
%Y Cf. A349904, A000073.
%K nonn
%O 1,5
%A _Peter Luschny_, Dec 07 2021