Menu
Coddy logo textTech

ひとひねりを加える

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 66/93。

challenge icon

チャレンジ

中級

前のレッスンでは、入力から上限を読み取ることで、上限を動的にしました。次は、除数もカスタマイズできるようにして、ひと工夫加えましょう!

コードを次のように変更してください:

  1. 入力から3つの整数を読み取ります:
    • n - 上限
    • fizzDivisor - "Fizz" の除数
    • buzzDivisor - "Buzz" の除数
  2. fizzBuzz 関数を更新し、3つのパラメーター(判定する数、Fizz の除数、Buzz の除数)を受け取るようにします
  3. 1からnまでループし、カスタム除数を使って各数の結果を出力します

更新後の関数シグネチャ:

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

返り値のロジック(これまでと同じですが、カスタム除数を使用します):

  • 両方の除数で割り切れる場合は "FizzBuzz"
  • fizzDiv でのみ割り切れる場合は "Fizz"
  • buzzDiv でのみ割り切れる場合は "Buzz"
  • それ以外の場合は数値を文字列にしたもの

入力: 別々の行に入力される3つの整数(上限、Fizz の除数、Buzz の除数)

出力: 1からnまでの各数に対するカスタマイズされた FizzBuzz の結果。それぞれを独立した行に出力します

入力制約:両方の除数は正の整数です。カウントは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プレイグラウンド