Menu
Coddy logo textTech

Dodawanie niespodzianki

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 66 z 93.

challenge icon

Wyzwanie

Średni

Na poprzedniej lekcji górny limit był dynamiczny, ponieważ odczytywałeś go z wejścia. Teraz dodaj utrudnienie i umożliw dostosowywanie dzielników!

Zmodyfikuj swój kod, aby:

  1. Odczytywał trzy liczby całkowite z wejścia:
    • n - górny limit
    • fizzDivisor - dzielnik dla "Fizz"
    • buzzDivisor - dzielnik dla "Buzz"
  2. Aktualizował funkcję fizzBuzz, tak aby przyjmowała trzy parametry: sprawdzaną liczbę, dzielnik fizz i dzielnik buzz
  3. Wykonywał pętlę od 1 do n i wypisywał wynik dla każdej liczby, używając niestandardowych dzielników

Zaktualizowana sygnatura funkcji:

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

Logika zwracania wyniku (taka sama jak wcześniej, ale z niestandardowymi dzielnikami):

  • "FizzBuzz", jeśli liczba jest podzielna przez oba dzielniki
  • "Fizz", jeśli liczba jest podzielna tylko przez fizzDiv
  • "Buzz", jeśli liczba jest podzielna tylko przez buzzDiv
  • W pozostałych przypadkach liczba jako ciąg znaków

Wejście: Trzy liczby całkowite w osobnych wierszach - górny limit, dzielnik fizz i dzielnik buzz

Wyjście: Dostosowany wynik FizzBuzz dla każdej liczby od 1 do n, każda w osobnym wierszu

Ograniczenia wejścia: Oba dzielniki są dodatnimi liczbami całkowitymi. Liczba elementów mieści się w przedziale od 1 do 100.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin