Esta es la contestación más acertada que encomtrarás dar, pero primero estúdiala pausadamente y valora si se puede adaptar a tu trabajo.
Solución:
L(s, n)
es “hasta la reversión de la orden” ver, por ejemplo, https://oeis.org/A014552. Esto significa, por ejemplo, que para |L(2, 4)|
tenemos
4 1 3 1 2 4 3 2
y
2 3 4 2 1 3 1 4
ambos satisfacen la propiedad, pero uno es justo lo contrario del otro, por lo que |L(2, 4)| = 1
.
Para tener esto en cuenta en su algoritmo, puede comprobar, por ejemplo, en el primer nivel que hay más bits libres a la izquierda que a la derecha.
NB: su algoritmo enumera todas las soluciones, por lo que la complejidad es > L(2, n)
y para n = 20
esto ya es mas que 2^41
. Probablemente no llegues a esto. Como se menciona en la página de Wikipedia:
para grande
n
el número de soluciones se puede calcular de manera más eficiente mediante métodos algebraicos
Si aceptas, tienes el poder dejar una sección acerca de qué te ha impresionado de esta noticia.