Digamos que uma substring seja qualquer seção contínua de uma string original. Por exemplo, caté uma substring de concatenate. Diremos que uma substring adequada é uma substring que não é igual à string original. Por exemplo, concatenateé uma substring, concatenatemas não uma substring adequada. (cadeias de caracteres únicos não possuem substrings apropriadas)
Agora definiremos uma sequência usando esses termos. O n º termo nesta seqüência será o menor número tal que há uma substring adequada de sua representação binária que não é uma substring de qualquer termo anteriormente na seqüência. O primeiro termo é 10.
Como exercício, vamos gerar os 5 primeiros termos. Vou trabalhar em binário para facilitar as coisas.
O primeiro termo é 10. Como 11o próximo número menor, possui apenas uma substring adequada, 1que também é uma substring 10, 11não está na sequência. 100no entanto, contém a substring adequada, 00que não é uma substring, 10portanto 100é o próximo termo. A seguir, é 101que contém a substring apropriada exclusiva, 01adicionando-a à sequência e, em seguida, 110contém a substring apropriada, 11que é nova, adicionando-a à sequência.
Agora temos
10, 100, 101, 110
111é o próximo, mas contém apenas as substrings 1e 11não é um termo. 1000no entanto, contém 000adicioná-lo à sequência.
Aqui estão os primeiros dois termos em 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
Tarefa
Ou
Tome n como entrada e gerar o n ésimo termo nesta sequência (0 ou 1 indexada)
Termos de saída contínuos da sequência
Isto é , as respostas do código-golfe são pontuadas em bytes, com menos bytes sendo melhores.
n)?
a(36)é 47 (1 indexado).