La scena è:
Peter è in palestra con il suo amico Brian quando Brian improvvisamente ha un disperato bisogno del suo inalatore. Brian riesce a dire a Peter il codice del suo lucchetto a combinazione prima di crollare sul pavimento.
Nel momento in cui Peter arriva nell'armadietto di Brian e vede a cosa sta indicando l'indicatore, Stewie gli tira un'imboscata e gli spruzza in faccia una lattina piena di spray al pepe, accecando così Peter.
Peter ora deve provare ad aprire la serratura senza guardarla. Comincia a girare il quadrante verso destra, contando i numeri mentre li passa. Quindi, al numero corretto inizia a girare il quadrante verso sinistra, continuando a contare, e infine lo gira verso destra fino all'apertura della serratura.
La sfida:
Scrivi una funzione / programma che accetta due input, la combinazione di Brian e la posizione dell'indicatore. Mostra i numeri che Peter deve contare.
Regole:
- La combinazione e la posizione dell'indicatore devono essere argomenti separati.
- L'input può provenire dal prompt dei comandi o come argomenti di funzione.
- L'output deve essere stampato sullo schermo / altrimenti visualizzato (non su file)
- Supponiamo che la posizione iniziale non sia la stessa del primo numero e che tutti e tre i numeri nella combinazione siano univoci
- È il lucchetto mostrato nell'immagine qui sotto, con possibili numeri: 0-39.
Istruzioni:
Per aprire la serratura di seguito, è necessario seguire una serie di istruzioni:
- Devi conoscere il tuo codice. Supponiamo che sia (38, 16, 22) per ora.
- Ruotare il quadrante 3 volte verso destra (passando tre volte il numero iniziale), quindi fermarsi quando il primo numero (38) si allinea con l'indicatore
- Ruotare il quadrante 1 giro completo a sinistra, passando il primo numero e fermarsi quando il secondo numero (16) si allinea con l'indicatore.
- Girare la manopola verso destra e fermarsi quando il terzo numero (22) si allinea con l'indicatore
- Abbassa il blocco
Esempio:
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
Si applicano le regole standard per il golf.
Le soluzioni pubblicate in seguito possono comunque vincere se sono più brevi della risposta di Dennis.

function combination(code){alert("Help! Someone open this locker, the combination is "+code+"!")}