|
|
A237501
|
|
Number of binary strings of length 2n which contain the reversals of each of their two halves.
|
|
3
|
|
|
4, 12, 42, 106, 300, 654, 1664, 3300, 7940, 15018, 34948, 64396, 147130, 267404, 604722, 1090998, 2453492, 4409000, 9886266, 17729222, 39693612, 71108358, 159076784, 284820632, 636918540, 1140064414, 2548902598, 4561828606, 10198077780, 18250461694, 40797250536, 73008145904, 163198882506, 292045189424, 652815291522
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
LINKS
|
|
|
EXAMPLE
|
The two halves of 01111011 are 0111 and 1011. Their reversals are 1110 and 1101, and both are substrings of 01111011. Since there are 105 other strings of length 2*4 with this property, a(4) = 106.
|
|
MATHEMATICA
|
sQ[L_, {s__}] := MatchQ[L, {___, s, ___}]; a[n_] := Length@ Select[ Tuples[{0, 1}, 2*n], sQ[#, Reverse[Take[#, n]]] && sQ[#, Reverse[Take[#, -n ]]] &]; Array[a, 8]
|
|
PROG
|
(Python) # see link for faster version
from itertools import product as prod
def ok(s): return s[:len(s)//2][::-1] in s and s[len(s)//2:][::-1] in s
def a(n): return 2*sum(ok("0"+"".join(p)) for p in prod("01", repeat=2*n-1))
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|