Menu
Coddy logo textTech

Adicionando a Reviravolta

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 66 de 93.

challenge icon

Desafio

Médio

Na lição anterior, você tornou o limite superior dinâmico ao lê-lo da entrada. Agora, adicione a reviravolta tornando os divisores personalizáveis também!

Modifique seu código para:

  1. Ler três inteiros da entrada:
    • n - o limite superior
    • fizzDivisor - o divisor de "Fizz"
    • buzzDivisor - o divisor de "Buzz"
  2. Atualizar sua função fizzBuzz para aceitar três parâmetros: o número a verificar, o divisor de fizz e o divisor de buzz
  3. Iterar de 1 até n e imprimir o resultado para cada número usando os divisores personalizados

Assinatura atualizada da função:

fun fizzBuzz(num: Int, fizzDiv: Int, buzzDiv: Int): String

Lógica de retorno (a mesma de antes, mas com divisores personalizados):

  • "FizzBuzz" se for divisível por ambos os divisores
  • "Fizz" se for divisível apenas por fizzDiv
  • "Buzz" se for divisível apenas por buzzDiv
  • O número como uma string caso contrário

Entrada: Três inteiros em linhas separadas - o limite superior, o divisor de fizz e o divisor de buzz

Saída: O resultado personalizado de FizzBuzz para cada número de 1 até n, cada um em sua própria linha

Restrições de entrada: Ambos os divisores são inteiros positivos. A quantidade está entre 1 e 100.

Experimente você mesmo

fun fizzBuzz(n: Int): String {
    return if (n % 3 == 0 && n % 5 == 0) {
        "FizzBuzz"
    } else if (n % 3 == 0) {
        "Fizz"
    } else if (n % 5 == 0) {
        "Buzz"
    } else {
        n.toString()
    }
}

fun main() {
    val n = readLine()!!.toInt()
    for (i in 1..n) {
        println(fizzBuzz(i))
    }
}

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin