Sahne:
Brian aniden inhalerine çok ihtiyaç duyduğunda Peter, arkadaşı Brian'la birlikte spor salonundadır. Brian, Peter'ı yere çökmeden önce şifreli kilidine söylemeyi başarır.
Peter Brian'ın dolabına ulaştığında ve göstergenin neye işaret ettiğini gördüğü anda, Stewie onu pusuya düşürür ve yüzüne dolu bir kutu biber spreyi püskürterek Peter'ı kör eder.
Peter şimdi kilidi bakmadan açmaya çalışmalı. Kadranı sağa çevirmeye başlar, geçerken sayıları sayar. Daha sonra doğru numarada kadranı sola döndürmeye başlar, hala saymaya başlar ve son olarak kilit açılana kadar sağa döndürür.
Meydan okuma:
Brian'ın kombinasyonu ve gösterge konumu olmak üzere iki giriş alan bir işlev / program yazın. Peter'ın sayması gereken sayıları çıkar.
Kurallar:
- Kombinasyon ve gösterge konumu ayrı argümanlar olmalıdır.
- Giriş, komut isteminden veya işlev bağımsız değişkenleri olarak olabilir.
- Çıktı ekrana yazdırılmalı / başka şekilde görüntülenmeli (dosyaya değil)
- Başlangıç konumunun ilk sayı ile aynı olmadığını ve kombinasyondaki her üç sayının da benzersiz olduğunu varsayalım
- Aşağıdaki resimde gösterilen kilitler, olası sayılarla: 0-39.
Talimatlar:
Aşağıdaki kilidi açmak için bir dizi talimatı izlemeniz gerekir:
- Kodunuzu bilmelisiniz. Şimdilik (38, 16, 22) olduğunu varsayın.
- Kadranı 3 kez sağa çevirin (başlangıç numarasını üç kez geçirin), ardından ilk sayı (38) göstergeyle hizalandığında durun
- İlk numarayı geçerek kadranı 1 tam tur sola çevirin ve ikinci sayı (16) gösterge ile hizalandığında durun.
- Kadranı sağa çevirin ve üçüncü sayı (22) gösterge ile hizalandığında durun
- Kilidi aşağı çekin
Örnek:
Input
38 16 22
33
Output
33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 39 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22
Standart kod golf kuralları geçerlidir.
Daha sonra gönderilen çözümler, Dennis'in cevabından daha kısasa yine de kazanabilir.
function combination(code){alert("Help! Someone open this locker, the combination is "+code+"!")}