FizzBuzz
FizzBuzz est un jeu de comptage. Les joueurs comptent à partir de 1, mais certains nombres sont remplacés par des mots : on dit Fizz pour un nombre divisible par 3, Buzz pour un nombre divisible par 5, et FizzBuzz pour un nombre divisible à la fois par 3 et par 5. On dit tous les autres nombres tels quels. Les quinze premiers tours donnent 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
L’ordre des tests est toute l’astuce. 15 est divisible par 3, donc si tu testes d’abord la divisibilité par 3 et renvoies immédiatement "Fizz", tu n’atteins jamais le cas où le nombre est divisible par les deux. Vérifie d’abord la règle combinée : un nombre divisible à la fois par 3 et par 5 est exactement un nombre divisible par 15. Vérifie ensuite la divisibilité par 3, puis par 5, et seulement après renvoie le nombre lui-même.
La version classique affiche toute la séquence. Ici, tu réponds pour un seul nombre à la fois : étant donné n, renvoie ce qu’un joueur dit au tour n. Par exemple, au tour 9, on dit "Fizz", au tour 10, "Buzz" et au tour 11, "11".
Écris une fonction nommée fizzBuzz qui reçoit un entier positif n et renvoie une chaîne : "FizzBuzz" si n est divisible à la fois par 3 et par 5, "Fizz" s’il est divisible uniquement par 3, "Buzz" s’il est divisible uniquement par 5, et sinon n écrit sous forme de chaîne décimale (par exemple "7").
Contraintes : 1 <= n <= 10^9.
Fonction
- arg1integer
- Renvoiestring
Exemples
- Entrée
- arg1 = 15
- Sortie
- "FizzBuzz"
- Entrée
- arg1 = 7
- Sortie
- "7"
+11 tests cachés à la soumission
Indices
Ouvrez-les un par un. Chacun en dévoile un peu plus.
L’opérateur modulo indique si un nombre divise un autre :
nest divisible par 3 exactement lorsque le reste dendivisé par 3 est égal à 0.Pense à 15. Il est divisible par 3 et par 5. Quelle vérification doit s’exécuter en premier pour que 15 donne
"FizzBuzz"et non"Fizz"?Testez d’abord la divisibilité par 15, puis par 3, puis par 5. Si aucune ne correspond, convertissez le nombre en chaîne de caractères. Assurez-vous que la conversion écrit chaque chiffre, afin que 10^9 donne
"1000000000"et non une notation scientifique.
Une explication complète de ce problème arrive bientôt.
Problèmes similaires
Des problèmes qui reposent sur les mêmes idées. En résoudre deux ou trois, c’est ce qui ancre un schéma.
Python
def fizzBuzz(n):
# Écrivez le code iciCas 1
Cas 2
Entrée
arg1 = 15
Attendu
"FizzBuzz"