Одного разу ти прокинешся лише для того, щоб потрапити в масив. Ви намагаєтеся просто піти звідти, беручи один індекс на час, але, схоже, є й інші правила:
Масив повністю заповнений натуральними числами.
- Якщо ви опинитесь на індексі
n, переходите до індексуarray[n], крім: - Якщо ви опинитесь на індексі,
nякий є простим числом, ви робитеarray[n]кроки назад
Приклад: Ви починаєте з індексу 4в цьому масиві (індекс запуску 0):
array = [1,4,5,6,8,10,14,15,2,2,4,5,7];
-----------------^ you are here
Оскільки значення поля, на якому ви знаходитесь 8, переходить до індексу 8як перший крок. Поле, на яке ви приземляєтеся, містить значення 2. Потім ви переходите до індексу 2як свого другого кроку. Як 2просте число, ви робите 5 кроків назад, це ваш третій крок. Оскільки немає індексу -3, ви успішно вийшли з масиву загалом за 3 кроки.
Ваше завдання:
Написати програму або функцію, яка приймає масив та індекс запуску як параметр і виводить кількість кроків для виходу з масиву. Якщо ви не можете уникнути масиву (наприклад, [2,0,2]з start-index 2=> ви постійно переходите від індексу 2до 0), виведіть помилкове значення. Ви можете використовувати індексацію на основі однієї чи нульової індексації, але, будь ласка, вкажіть, яку ви використовуєте.
Тестові справи
Вхід: [2,5,6,8,1,2,3], 3
Вихід: 1
Вхід: [2, 0, 2], 2
Вихід: false
Вхідні дані : [14,1,2,5,1,3,51,5,12,3,4,41,15,4,12,243,51,2,14,51,12,11], 5;
Вихід: 6
Найкоротша відповідь виграє.