Digamos que una subcadena es cualquier sección continua de una cadena original. Por ejemplo, cates una subcadena de concatenate. Diremos que una subcadena adecuada es una subcadena que no es igual a la cadena original. Por ejemplo, concatenatees una subcadena concatenatepero no una subcadena adecuada. (las cadenas de caracteres individuales no tienen subcadenas adecuadas)
Ahora definiremos una secuencia usando estos términos. El n º término en esta secuencia será el número más pequeño de tal manera que hay una subcadena adecuada de su representación binaria que no es una subcadena de cualquier término anterior en la secuencia. El primer término es 10.
Como ejercicio vamos a generar los primeros 5 términos. Trabajaré en binario para facilitar las cosas.
El primer término es 10. Dado que 11el siguiente número más pequeño tiene solo una subcadena adecuada, 1que también es una subcadena 10, 11no está en la secuencia. 100sin embargo, contiene la subcadena adecuada 00que no es una subcadena de 10lo que 100es nuestro próximo término. El siguiente es el 101que contiene la subcadena adecuada única que lo 01agrega a la secuencia, luego 110contiene la subcadena adecuada 11que es nueva y la agrega a la secuencia.
Ahora tenemos
10, 100, 101, 110
111es el siguiente, pero contiene solo las subcadenas 1y 11no es un término. 1000sin embargo contiene 000agregarlo a la secuencia.
Aquí están los primeros dos términos en decimal
2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 54, 56, 58
Tarea
Ya sea
Tome n como entrada y generar el n º término en esta secuencia (ya sea 0 o 1 indexada)
Salida continua de términos de la secuencia
Este es el código de respuestas de golf se puntúan en bytes con menos bytes que son mejores.
n)?
a(36)es 47 (1 indexado).