login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A204340 The number of words of length n created with the letters a,b,c with at least as many a's as b's and at least as many b's as c's and no adjacent letters forming the pattern bba. 1

%I #27 Jul 19 2023 19:20:35

%S 1,1,3,10,21,57,182,426,1167,3679,8991,24873,77492,194449,541194,

%T 1670783,4267991,11926782,36559601,94604822,265135713,808106960,

%U 2111760491,5931204471,17993213402,47385794268,133315710843,402849979395,1067608305030,3007697623335

%N The number of words of length n created with the letters a,b,c with at least as many a's as b's and at least as many b's as c's and no adjacent letters forming the pattern bba.

%H Alois P. Heinz, <a href="/A204340/b204340.txt">Table of n, a(n) for n = 0..500</a>

%e For n=1 the a(1)=1 solution is: a

%e For n=2 the a(2)=3 solutions are: aa,ab,ba

%e For n=3 the a(3)=10 solutions are: aaa,aab,aba,abc,acb,baa,bac,bca,cab,cba

%p makebbaavoiders := proc (n) local out, tout, i;

%p if n = 0 then return [[]] end if;

%p tout := makebbaavoiders(n-1);

%p out := [];

%p for i to nops(tout) do

%p if 2 <= nops(tout[i]) and tout[i][-1] = 1 and tout[i][-2] = 1 then

%p out := [op(out), [op(tout[i]), 1], [op(tout[i]), 2]]

%p else

%p out := [op(out), [op(tout[i]), 0], [op(tout[i]), 1], [op(tout[i]), 2]]

%p end if end do;

%p return out;

%p end proc;

%p count := proc (lst, val)

%p return nops(select(proc (x) options operator, arrow; x = val end proc, lst))

%p end proc;

%p nops(select(proc (w) options operator, arrow; count(w, 2) <= count(w,1) end proc, select(proc (w) options operator, arrow; count(w, 1) <=count(w, 0) end proc, makebbaavoiders(7))));

%p # second Maple program:

%p a:= n-> add(add(add(w(na, nb, n-na-nb, t), t=0..2),

%p nb=ceil((n-na)/2)..na), na=ceil(n/3)..n):

%p w:= proc(a, b, c, t) option remember;

%p `if`(a=0 and b=0 and c=0, `if`(t=0, 1, 0),

%p `if`(a<0 or b<0 or c<0, 0, `if`(t=0, w(a-1, b, c, 0)+

%p w(a-1, b, c, 1) +w(a, b, c-1, 0) +w(a, b, c-1, 1)+

%p w(a, b, c-1, 2), `if`(t=1, w(a, b-1, c, 0),

%p w(a, b-1, c, 1) +w(a, b-1, c, 2)))))

%p end:

%p seq(a(n), n=0..40); # _Alois P. Heinz_, May 07 2012

%t a[n_] := Sum[Sum[Sum[w[na, nb, n-na-nb, t], {t, 0, 2}], {nb, Ceiling[(n-na)/2], na}], {na, Ceiling[n/3], n}];

%t w[a_, b_, c_, t_] := w[a, b, c, t] =

%t If[a == 0 && b == 0 && c == 0, If[t == 0, 1, 0],

%t If[a < 0 || b < 0 || c < 0, 0, If[t == 0, w[a - 1, b, c, 0] +

%t w[a - 1, b, c, 1] + w[a, b, c - 1, 0] + w[a, b, c - 1, 1] +

%t w[a, b, c - 1, 2], If[t == 1, w[a, b - 1, c, 0],

%t w[a, b - 1, c, 1] + w[a, b - 1, c, 2]]]]];

%t a /@ Range[0, 40] (* _Jean-François Alcover_, Nov 20 2020, after _Alois P. Heinz_ *)

%Y Cf. A174982.

%K nonn

%O 0,3

%A _Jeff McManus_, Jan 14 2012

%E a(1)-a(13) confirmed and a(14) added by _John W. Layman_, Jan 18 2012

%E a(0) inserted and extended beyond a(14) by _Alois P. Heinz_, May 07 2012

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 25 16:45 EDT 2024. Contains 371989 sequences. (Running on oeis4.)