Menu
Coddy logo textTech

Aggiungere la variante

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 66 di 93.

challenge icon

Sfida

Medio

Nella lezione precedente, hai reso dinamico il limite superiore leggendolo dall'input. Ora aggiungi la particolarità rendendo personalizzabili anche i divisori!

Modifica il tuo codice per:

  1. Leggere tre interi dall'input:
    • n - il limite superiore
    • fizzDivisor - il divisore per "Fizz"
    • buzzDivisor - il divisore per "Buzz"
  2. Aggiornare la funzione fizzBuzz in modo che accetti tre parametri: il numero da controllare, il divisore di fizz e il divisore di buzz
  3. Eseguire un ciclo da 1 a n e stampare il risultato per ogni numero usando i divisori personalizzati

Firma della funzione aggiornata:

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

Logica di ritorno (come prima, ma con divisori personalizzati):

  • "FizzBuzz" se è divisibile per entrambi i divisori
  • "Fizz" se è divisibile solo per fizzDiv
  • "Buzz" se è divisibile solo per buzzDiv
  • Il numero come stringa in tutti gli altri casi

Input: Tre interi su righe separate: il limite superiore, il divisore di fizz e il divisore di buzz

Output: Il risultato FizzBuzz personalizzato per ogni numero da 1 a n, ciascuno su una riga separata

Vincoli dell'input: entrambi i divisori sono interi positivi. Il conteggio è compreso tra 1 e 100.

Provalo tu

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))
    }
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin