Menu
Coddy logo textTech

Добавляем изюминку

Часть раздела Основы путешествия по Kotlin на Coddy. Урок 66 из 93.

challenge icon

Задание

Средне

На предыдущем уроке вы сделали верхний предел динамическим, считывая его из ввода. Теперь усложните задачу, сделав делители настраиваемыми!

Измените код так, чтобы:

  1. Считывать из ввода три целых числа:
    • n — верхний предел
    • fizzDivisor — делитель для "Fizz"
    • buzzDivisor — делитель для "Buzz"
  2. Обновить функцию fizzBuzz, чтобы она принимала три параметра: проверяемое число, делитель fizz и делитель buzz
  3. Выполнить цикл от 1 до n и вывести результат для каждого числа, используя настраиваемые делители

Обновлённая сигнатура функции:

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

Логика возврата (та же, что и раньше, но с настраиваемыми делителями):

  • "FizzBuzz", если число делится на оба делителя
  • "Fizz", если число делится только на fizzDiv
  • "Buzz", если число делится только на buzzDiv
  • В противном случае — число в виде строки

Ввод: три целых числа в отдельных строках — верхний предел, делитель fizz и делитель buzz

Вывод: настраиваемый результат FizzBuzz для каждого числа от 1 до n, каждое значение в отдельной строке

Ограничения на ввод: оба делителя являются положительными целыми числами. Количество находится в диапазоне от 1 до 100.

Попробуйте сами

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

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin