FizzBuzz
FizzBuzz è un gioco di conteggio. I giocatori contano a partire da 1, ma alcuni numeri vengono sostituiti da parole: un numero divisibile per 3 si pronuncia Fizz, un numero divisibile per 5 si pronuncia Buzz e un numero divisibile sia per 3 che per 5 si pronuncia FizzBuzz. Tutti gli altri numeri si pronunciano così come sono. I primi quindici turni sono: 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
L'ordine dei controlli è tutto il trucco. 15 è divisibile per 3, quindi se controlli prima la divisibilità per 3 e restituisci subito "Fizz", non arriverai mai al caso in cui è divisibile per entrambi. Controlla prima la regola combinata: un numero divisibile sia per 3 che per 5 è esattamente un numero divisibile per 15. Poi controlla la divisibilità per 3, poi per 5 e solo allora restituisci il numero stesso.
La versione classica stampa l'intera sequenza. Qui rispondi per un numero alla volta: dato n, restituisci ciò che un giocatore pronuncia al turno n. Per esempio, al turno 9 si pronuncia "Fizz", al turno 10 "Buzz" e al turno 11 "11".
Scrivi una funzione chiamata fizzBuzz che riceve un intero positivo n e restituisce una stringa: "FizzBuzz" se n è divisibile sia per 3 sia per 5, "Fizz" se è divisibile solo per 3, "Buzz" se è divisibile solo per 5 e, altrimenti, n scritto come stringa decimale (per esempio "7").
Vincoli: 1 <= n <= 10^9.
Funzione
- arg1integer
- Restituiscestring
Esempi
- Input
- arg1 = 15
- Output
- "FizzBuzz"
- Input
- arg1 = 7
- Output
- "7"
+11 test nascosti all’invio
Suggerimenti
Aprili uno alla volta. Ognuno rivela un po’ di più.
L'operatore resto indica se un numero è divisibile per un altro:
nè divisibile per 3 esattamente quando il resto dindiviso per 3 è 0.Pensa a 15. È divisibile per 3 e per 5. Quale dei tuoi controlli dovrebbe essere eseguito per primo affinché 15 diventi
"FizzBuzz"e non"Fizz"?Verifica prima la divisibilità per 15, poi per 3 e infine per 5. Se nessuno dei casi corrisponde, converti il numero in una stringa. Assicurati che la conversione scriva ogni cifra, così 10^9 diventa
"1000000000"e non viene espresso in notazione scientifica.
Presto una spiegazione completa di questo problema.
Problemi simili
Problemi che usano le stesse idee. Risolverne due o tre è ciò che fissa uno schema.
Python
def fizzBuzz(n):
# Scrivi il codice quiCaso 1
Caso 2
Input
arg1 = 15
Atteso
"FizzBuzz"