Un día te despiertas solo para encontrarte atrapado en una serie. Intenta salir de allí, tomando un índice a la vez, pero parece que hay otras reglas:
La matriz está completamente llena de números naturales.
- Si te encuentras en un índice
n
, vas al índicearray[n]
, excepto: - Si te encuentras en un índice
n
que es un número primo,array[n]
retrocedes pasos
Ejemplo: comienza en el índice 4
, en esta matriz (el índice de inicio es 0):
array = [1,4,5,6,8,10,14,15,2,2,4,5,7];
-----------------^ you are here
Como el valor del campo en el que se encuentra es 8
, usted va al índice 8
como primer paso. El campo en el que aterrizas contiene el valor 2
. Luego vas al índice 2
como tu segundo paso. Como 2
es un número primo, retrocede 5 pasos, que es su tercer paso. Como no hay índice -3
, escapó con éxito de la matriz en un total de 3 pasos.
Tu tarea es:
Para escribir un programa o función, que acepta una matriz y un índice de inicio como parámetro, y genera la cantidad de pasos para escapar de la matriz. Si no puede escapar de la matriz (por ejemplo, [2,0,2]
con start-index 2
=> pasa constantemente del índice 2
a 0
), genera un valor falso. Puede usar indexación basada en uno o indexación basada en cero, pero especifique cuál usa.
Casos de prueba
Entrada: [2,5,6,8,1,2,3], 3
Salida: 1
Entrada: [2, 0, 2], 2
Salida: false
Entrada [14,1,2,5,1,3,51,5,12,3,4,41,15,4,12,243,51,2,14,51,12,11], 5
:;
Salida: 6
La respuesta más corta gana.