Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #34 Mar 12 2024 08:48:38
%S 0,0,0,2,7,17,39,88,192,408,855,1775,3655,7478,15228,30898,62511,
%T 126177,254223,511472,1027840,2063600,4140015,8300767,16635087,
%U 33324462,66736764,133615658,267461287,535294673,1071191415,2143357000,4288290240,8579130888
%N Number of subsets of {1,...,n} containing two elements whose difference is 2.
%C Also, the number of bitstrings of length n containing either 101 or 111.
%H David Nacin, <a href="/A209398/b209398.txt">Table of n, a(n) for n = 0..500</a>
%H <a href="/index/Rec#order_05">Index entries for linear recurrences with constant coefficients</a>, signature (3,-2,1,-1,-2).
%F a(n) = 3*a(n-1) - 2*a(n-2) + a(n-3) - a(n-4) - 2*a(n-5), a(0)=0, a(1)=0, a(2)=0, a(3)=2, a(4)=7.
%F a(n) = 2^n - F(2+floor(n/2))*F(floor(2+(n+1)/2)), where F(n) are the Fibonacci numbers.
%F a(n) = 2^n - A006498(n+2).
%F G.f.: (2*x^3 + 1*x^4)/(1 - 3*x + 2*x^2 - x^3 + x^4 + 2*x^5) = x^3*(2 + x) / ((1 - 2*x)*(1 + x^2)*(1 - x - x^2)).
%F E.g.f.: (2*cos(x) + 5*cosh(2*x) + sin(x) + 5*sinh(2*x) - exp(x/2)*(7*cosh(sqrt(5)*x/2) + 3*sqrt(5)*sinh(sqrt(5)*x/2)))/5. - _Stefano Spezia_, Mar 12 2024
%e For n=3 the subsets containing 1 and 3 are {1,3} and {1,2,3} so a(3)=2.
%t Table[2^n -Fibonacci[Floor[n/2] + 2]*Fibonacci[Floor[(n + 1)/2] + 2], {n, 0,30}]
%t LinearRecurrence[{3, -2, 1, -1, -2}, {0, 0, 0, 2, 7}, 40]
%t CoefficientList[ Series[x^3 (x +2)/(2x^5 +x^4 -x^3 +2x^2 -3x +1), {x, 0, 33}], x] (* _Robert G. Wilson v_, Jan 03 2018 *)
%t a[n_] := Floor[ N[(2^-n ((50 - 14 Sqrt[5]) (1 - Sqrt[5])^n + ((-1 + 2I) (-2I)^n - (1 + 2I) (2I)^n + 5 4^n) (15 + 11 Sqrt[5]) - 2 (1 + Sqrt[5])^n (85 + 37 Sqrt[5])))/(150 + 110 Sqrt[5])]]; Array[a, 33] (* _Robert G. Wilson v_, Jan 03 2018 *)
%o (Python)
%o #Through Recurrence
%o def a(n, adict={0:0, 1:0, 2:0, 3:2, 4:7}):
%o .if n in adict:
%o ..return adict[n]
%o .adict[n]=3*a(n-1)-2*a(n-2)+a(n-3)-a(n-4)-2*a(n-5)
%o .return adict[n]
%o (Python)
%o #Returns the actual list of valid subsets
%o def contains101(n):
%o .patterns=list()
%o .for start in range (1,n-1):
%o ..s=set()
%o ..for i in range(3):
%o ...if (1,0,1)[i]:
%o ....s.add(start+i)
%o ..patterns.append(s)
%o .s=list()
%o .for i in range(2,n+1):
%o ..for temptuple in comb(range(1,n+1),i):
%o ...tempset=set(temptuple)
%o ...for sub in patterns:
%o ....if sub <= tempset:
%o .....s.append(tempset)
%o .....break
%o .return s
%o #Counts all such subsets using the preceding function
%o def countcontains101(n):
%o .return len(contains101(n))
%o (PARI) x='x+O('x^30); concat([0,0,0], Vec(x^3*(2+x)/((1-2*x)*(1+x^2)*(1-x-x^2)))) \\ _G. C. Greubel_, Jan 03 2018
%o (Magma) [2^n - Fibonacci(Floor(n/2) + 2)*Fibonacci(Floor((n + 1)/2) + 2): n in [0..30]]; // _G. C. Greubel_, Jan 03 2018
%Y Cf. A006498, A209399, A209400.
%K nonn,easy
%O 0,4
%A _David Nacin_, Mar 07 2012