Adegannya adalah:
Peter berada di gym bersama temannya Brian ketika Brian tiba-tiba membutuhkan inhalernya. Brian berhasil memberi tahu Peter kode ke kunci kombinasinya sebelum ia jatuh di lantai.
Saat Peter sampai ke loker Brian dan melihat apa yang ditunjukkan indikator, Stewie menyergapnya dan menyemprotkan semprotan merica ke wajahnya, sehingga membutakan Peter.
Peter sekarang harus mencoba membuka kunci tanpa melihatnya. Dia mulai memutar tombol ke kanan, menghitung angka sementara dia melewatinya. Dia kemudian, pada nomor yang benar mulai memutar tombol ke kiri, masih menghitung, dan akhirnya memutarnya ke kanan sampai kunci terbuka.
Tantangan:
Tulis fungsi / program yang mengambil dua input, kombinasi dari Brian, dan posisi indikator. Keluarkan angka-angka yang harus dihitung oleh Peter.
Aturan:
- Kombinasi dan posisi indikator harus merupakan argumen yang terpisah.
- Input dapat berupa dari command prompt atau sebagai argumen fungsi.
- Output harus dicetak ke layar / ditampilkan (tidak ke file)
- Asumsikan bahwa posisi awal tidak sama dengan angka pertama, dan ketiga angka dalam kombinasi itu unik
- Ini adalah kunci yang ditunjukkan pada gambar di bawah ini, dengan angka yang mungkin: 0-39.
Instruksi:
Untuk membuka kunci di bawah ini, Anda harus mengikuti serangkaian instruksi:
- Anda harus tahu kode Anda. Anggap saja (38, 16, 22) untuk saat ini.
- Putar tombol 3 kali ke kanan (melewati angka awal tiga kali), lalu berhenti ketika angka pertama (38) sejajar dengan indikator
- Putar tombol 1 putaran penuh ke kiri, melewati angka pertama, dan berhenti ketika angka kedua (16) sejajar dengan indikator.
- Putar tombol putar ke kanan dan berhenti ketika angka ketiga (22) sejajar dengan indikator
- Tarik kunci ke bawah
Contoh:
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
Aturan golf kode standar berlaku.
Solusi yang diposting kemudian masih bisa menang jika lebih pendek dari jawaban Dennis.
function combination(code){alert("Help! Someone open this locker, the combination is "+code+"!")}