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
nque 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 8como primer paso. El campo en el que aterrizas contiene el valor 2. Luego vas al índice 2como tu segundo paso. Como 2es 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 2a 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.