Mon collègue m'a récemment envoyé le code JavaScript suivant comme une blague:
let butScript = (nrOfButs) => {
for(var i = 0; i < nrOfButs; i++){
if(i % 3 == 0){
console.log("Yeah")
}
if(i % 2 == 0){
console.log("But")
}
if(i % 3 == 1){
console.log("No")
}
}
}
Comme le code était écrit pendant les heures de travail, il s’agissait manifestement d’un énorme gaspillage de ressources de la part de l’entreprise. Pour éviter que de tels incidents ne se reproduisent à l’avenir, nous devons minimiser le gaspillage des heures travaillées. Et comme il est de notoriété publique qu'un programme plus court est plus rapide à écrire, nous devons jouer ce code pour qu'il soit le plus court possible!
Contribution
Un seul entier non négatif. Vous ne devez pas gérer une entrée défectueuse.
Sortie
Votre programme doit produire une sortie identique à celle du script ci-dessus. Vous devez générer un mot par ligne et le nombre de mots doit être cohérent avec le script d'origine.
Il est permis d'inclure des caractères d'espacement non newline à la fin de chaque ligne (mais pas au début) car ils sont invisibles. Un caractère de nouvelle ligne supplémentaire est autorisé à la toute fin de la sortie.
Exemples
Input: 0
Output:
Input: 1
Output:
Yeah
But
Input: 2
Output:
Yeah
But
No
Input: 10
Output:
Yeah
But
No
But
Yeah
But
No
Yeah
But
No
But
Yeah
nrOfButs
variable est plutôt mal nommée et trompeuse. Beau défi simple quand même.
if
s du creux et continue dans la boucle de courant si leur condition est remplie.