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
n
dizine gidersinizarray[n]
: - Kendinizi
n
ana 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 8
dizine gidersiniz 8
. İndiğiniz alan değeri içerir 2
. Daha sonra 2
ikinci adımı olarak dizine gidin . Gibi 2
bir asal sayıdır, üçüncü aşama olan geri 5 adımlar atmak. Dizin olmadığı -3
iç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 2
iç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.