Supongamos que comenzamos con la 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, ...
Luego, tomamos las diferencias 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 el número inicial es 1 cada vez. La conjetura de Gilbreath es la predicción de que este seguirá siendo el caso para siempre.
La única forma en que el número inicial dejaría de ser un 1 es si el siguiente número después de que no fuera ni un 0 ni un 2. La única forma en que el segundo número no sería un 0 o un 2 es si el número después de eso no era ni un 0 ni un 2. Y así sucesivamente.
El índice del primer número, que no sea el 1 inicial, que no es ni un 0 ni un 2, nunca puede bajar más de 1 entre un par de secuencias consecutivas. Este hecho se ha utilizado para poner un límite inferior muy fuerte cuando, si alguna vez, una secuencia puede no tener un 1 como primer elemento.
En este desafío, se le dará el índice de una secuencia, y debe generar el índice del primer número en esa secuencia que no es el 1 inicial, y no es un 0 o un 2.
Por ejemplo, en la cuarta secuencia de diferencia absoluta anterior:
[1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 2, 2, 4, 2, ...
La primera entrada que no es un cero o un dos, que no sea la primera entrada, es la posición 15, 14 cero indexado. Entonces, si la entrada era 4, saldría 14.
Para entradas del 1 al 30, las salidas deben 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 es OEIS A000232 .
Esto supone que tiene 1 entradas indexadas y 0 salidas indexadas. Puede indexar sus entradas y salidas comenzando en cualquier número entero constante, siempre que pueda aceptar el rango de entradas correspondiente a todas las secuencias.
Requisitos: su solución debe ejecutarse como máximo 1 minuto con una entrada de hasta 30. Si está lo suficientemente cerca como para depender de las especificaciones de la computadora, está permitido.
El código más corto gana.