Bir gün sadece kendini dizide yakalanmış bulmak için uyanırsın. O zaman tek bir indeks alarak oradan çıkmaya çalışıyorsunuz, ama başka kurallar varmış gibi görünüyor:
Dizi tamamen doğal sayılarla doldurulur.
- Kendinizi bir dizinde bulursanız , aşağıdakiler dışında
ndizine gidersinizarray[n]: - Kendinizi
nana sayı olan bir dizinde bulursanız ,array[n]geri adım atarsınız.
Örnek: Bu dizinde 4, dizinde başlıyorsunuz (başlangıç dizini 0'dır):
array = [1,4,5,6,8,10,14,15,2,2,4,5,7];
-----------------^ you are here
Bulunduğunuz alanın değeri olduğu gibi, ilk adım olarak 8dizine gidersiniz 8. İndiğiniz alan değeri içerir 2. Daha sonra 2ikinci adımı olarak dizine gidin . Gibi 2bir asal sayıdır, üçüncü aşama olan geri 5 adımlar atmak. Dizin olmadığı -3için diziyi toplam 3 adımda başarıyla çıkardınız.
Görevin:
Bir diziyi ve bir başlangıç dizinini parametre olarak kabul eden bir program veya işlev yazmak ve diziden kaçmak için gereken adımları gösterir. Eğer dizi çıkamazsa (örneğin [2,0,2]başlangıç indeksi ile 2=> sürekli dizinden gitmek 2için 0, çıkış bir falsy değer). Tek tabanlı bir dizinleme veya sıfır tabanlı bir dizinleme kullanabilirsiniz, ancak hangisini kullandığınızı belirtin.
Test durumları
Giriş: [2,5,6,8,1,2,3], 3
Çıktı: 1
Giriş: [2, 0, 2], 2
Çıktı: false
Giriş [14,1,2,5,1,3,51,5,12,3,4,41,15,4,12,243,51,2,14,51,12,11], 5:;
Çıktı: 6
En kısa cevap kazanır.