A355141 a(0)=1, a(1)=a(2)=0; for n > 2, a(n) = a(n-1) + s if n is odd, a(n-1) - s if n is even, where s = a(n-1) + a(n-2) + a(n-3).
1, 0, 0, 1, 0, 1, -1, -1, 0, -2, 1, 0, 1, 3, -1, 2, -2, -3, 0, -5, 3, 1, 2, 8, -3, 4, -5, -9, 1, -12, 8, 5, 4, 21, -9, 7, -12, -26, 5, -28, 21, 19, 7, 54, -26, 9, -28, -73, 19, -63, 54, 64, 9, 136, -73, -1, -63, -200, 64, -135, 136, 201, -1, 335, -200, -66
Offset: 0
Examples
For n = 12, a(12) = 1: The previous three terms are a(9) = -2, a(10) = 1, a(11) = 0, whose sum is -1. 12 is even, so we subtract that sum from the previous term, a(11) = 0, which gives a(12) = 0 - (-1) = 1.
Links
- Michael De Vlieger, Table of n, a(n) for n = 0..10000
- Index entries for linear recurrences with constant coefficients, signature (0,0,0,-1,0,-1).
Programs
-
Mathematica
CoefficientList[Series[(1 + x^3 + x^4 + x^5)/(1 + x^4 + x^6), {x, 0, 65}], x] (* Michael De Vlieger, Jun 22 2022 *) LinearRecurrence[{0,0,0,-1,0,-1},{1,0,0,1,0,1},70] (* Harvey P. Dale, Aug 11 2025 *)
-
Python
def a(n): if n in [0, 1, 2]: return [1, 0, 0][n] else: previous_terms = [1, 0, 0] for i in range(n - 2): previous_three_terms = previous_terms[-3:] previous_three_terms_sum = sum(previous_three_terms) current_term = previous_terms[-1] if i % 2 == 0: previous_terms.append(current_term + previous_three_terms_sum) else: previous_terms.append(current_term - previous_three_terms_sum) return previous_terms[-1] print([a(n) for n in range(66)])
-
Python
a, terms = [1, 0, 0], 66 [a.append(a[-1]-(-1)**(n%2)*sum(a[-3:])) for n in range(3, terms)] print(a) # Michael S. Branicky, Jun 22 2022
Formula
a(n) = a(n-1) + (2*(n mod 2) - 1)*(a(n-3) + a(n-2) + a(n-1)), with a(0) = 1, a(1) = 0, and a(2) = 0.
G.f.: (1 + x^3 + x^4 + x^5)/(1 + x^4 + x^6). - Stefano Spezia, Jun 22 2022
Comments