FizzBuzz
FizzBuzz é um jogo de contagem. Os jogadores contam a partir de 1, mas alguns números são substituídos por palavras: um número divisível por 3 é dito como Fizz, um número divisível por 5 como Buzz e um número divisível por 3 e por 5 como FizzBuzz. Todos os outros números são ditos como são. Os primeiros quinze turnos são 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz.
A ordem das verificações é o grande truque. 15 é divisível por 3, então, se você testar primeiro a divisibilidade por 3 e retornar "Fizz" imediatamente, nunca chegará ao caso de divisibilidade por ambos. Verifique primeiro a regra combinada: um número divisível por 3 e por 5 é exatamente um número divisível por 15. Depois, verifique a divisibilidade por 3, em seguida por 5 e só então retorne o próprio número.
A versão clássica imprime a sequência inteira. Aqui, você responde para um número de cada vez: dado n, retorne o que um jogador diz no turno n. Por exemplo, no turno 9, a resposta é "Fizz", no turno 10 é "Buzz" e no turno 11 é "11".
Escreva uma função chamada fizzBuzz que recebe um inteiro positivo n e retorna uma string: "FizzBuzz" se n for divisível por 3 e por 5, "Fizz" se for divisível apenas por 3, "Buzz" se for divisível apenas por 5 e, caso contrário, n escrito como uma string decimal (por exemplo, "7").
Restrições: 1 <= n <= 10^9.
Função
- arg1integer
- Retornastring
Exemplos
- Entrada
- arg1 = 15
- Saída
- "FizzBuzz"
- Entrada
- arg1 = 7
- Saída
- "7"
+11 testes ocultos ao enviar
Dicas
Abra uma de cada vez. Cada uma revela um pouco mais.
O operador de resto informa se um número é divisível por outro:
né divisível por 3 exatamente quando o resto dendividido por 3 é 0.Pense em 15. Ele é divisível por 3 e por 5. Qual das suas verificações deve ser executada primeiro para que 15 receba
"FizzBuzz"e não"Fizz"?Teste primeiro a divisibilidade por 15, depois por 3 e, em seguida, por 5. Se nenhum deles corresponder, converta o número em uma string. Certifique-se de que a conversão escreva todos os dígitos, para que 10^9 resulte em
"1000000000"e não em notação científica.
Em breve, uma explicação completa deste problema.
Problemas parecidos
Problemas que usam as mesmas ideias. Resolver dois ou três é o que fixa um padrão.
Python
def fizzBuzz(n):
# Escreva o código aquiCaso 1
Caso 2
Entrada
arg1 = 15
Esperado
"FizzBuzz"