Menu
CoddyTech

Thêm biến tấu

Thuộc phần Kiến thức nền tảng trong hành trình Kotlin của Coddy. Bài học 66 trên 93.

challenge icon

Thử thách

Trung bình

Trong bài học trước, bạn đã làm cho giới hạn trên có thể thay đổi bằng cách đọc giá trị này từ đầu vào. Bây giờ, hãy thêm điểm mới bằng cách cho phép tùy chỉnh cả các ước số!

Sửa code để:

  1. Đọc ba số nguyên từ đầu vào:
    • n - giới hạn trên
    • fizzDivisor - ước số của "Fizz"
    • buzzDivisor - ước số của "Buzz"
  2. Cập nhật hàm (function) fizzBuzz để nhận ba tham số: số cần kiểm tra, ước số fizz và ước số buzz
  3. Lặp từ 1 đến n và in ra kết quả cho từng số bằng các ước số tùy chỉnh

Khai báo hàm đã cập nhật:

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

Logic trả về (giống như trước, nhưng dùng các ước số tùy chỉnh):

  • "FizzBuzz" nếu chia hết cho cả hai ước số
  • "Fizz" nếu chỉ chia hết cho fizzDiv
  • "Buzz" nếu chỉ chia hết cho buzzDiv
  • Nếu không, trả về số đó dưới dạng chuỗi

Đầu vào: Ba số nguyên trên các dòng riêng biệt, gồm giới hạn trên, ước số fizz và ước số buzz

Đầu ra: Kết quả FizzBuzz tùy chỉnh cho từng số từ 1 đến n, mỗi kết quả trên một dòng riêng

Ràng buộc đầu vào: Cả hai ước số đều là số nguyên dương. Số lượng nằm trong khoảng từ 1 đến 100.

Tự làm thử

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

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Kotlin