Suponha que comecemos com a lista infinita de números primos:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ...
Então, tomamos as diferenças absolutas entre cada par de números, repetidamente:
[1, 2, 2, 4, 2, 4, 2, 4, 6, 2, 6, 4, 2, 4, 6, 6, 2, 6, 4, ...
[1, 0, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 2, 2, 0, 4, 4, 2, ...
[1, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 4, 0, 2, ...
[1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 4, 2, ...
Observe que o número inicial é 1 toda vez. A conjectura de Gilbreath é a previsão de que esse continua sendo o caso para sempre.
A única maneira de o número inicial deixar de ser um 1 é se o próximo número depois de não ter sido 0 ou 2. A única maneira de o segundo número não ser 0 ou 2 é se o número seguinte não for um 0 0 nem 2. E assim por diante.
O índice do número mais antigo, exceto o 1 inicial, que não é 0 nem 2, nunca pode diminuir em mais de 1 entre um par consecutivo de seqüências. Esse fato foi usado para colocar um limite inferior muito forte quando, se alguma vez, uma sequência pode não ter 1 como o primeiro elemento.
Nesse desafio, você receberá o índice de uma sequência e deverá gerar o índice do primeiro número nessa sequência que não é o 1 inicial e não é 0 ou 2.
Por exemplo, na quarta sequência de diferenças absolutas acima:
[1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 4, 2, ...
A primeira entrada que não é zero ou dois, exceto a primeira entrada, é a 15ª posição, 14 zero indexada. Portanto, se a entrada for 4, você produzirá 14.
Para entradas de 1 a 30, as saídas devem ser:
[3, 8, 14, 14, 25, 24, 23, 22, 25, 59, 98, 97, 98, 97, 174, 176, 176, 176, 176, 291, 290, 289, 740, 874, 873, 872, 873, 872, 871, 870]
Este é o OEIS A000232 .
Isso pressupõe que você tenha 1 entrada indexada e 0 saída indexada. Você pode indexar suas entradas e saídas a partir de qualquer número inteiro constante, desde que aceite o intervalo de entradas correspondente a todas as seqüências.
Requisitos: sua solução deve ser executada em no máximo 1 minuto em uma entrada de até 30. Se estiver perto o suficiente para depender das especificações do computador, é permitido.
O menor código vence.