ひとひねりを加える
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 66/93。
チャレンジ
中級前のレッスンでは、入力から上限を読み取ることで、上限を動的にしました。次は、除数もカスタマイズできるようにして、ひと工夫加えましょう!
コードを次のように変更してください:
- 入力から3つの整数を読み取ります:
n- 上限fizzDivisor- "Fizz" の除数buzzDivisor- "Buzz" の除数
fizzBuzz関数を更新し、3つのパラメーター(判定する数、Fizz の除数、Buzz の除数)を受け取るようにします- 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プレイグラウンド