Menu
CoddyTech

Phạm vi trong vòng lặp

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 51 trên 93.

Đến giờ, chúng ta đã dùng 1..5 để tạo các khoảng tăng dần từng đơn vị. Kotlin cung cấp những cách linh hoạt hơn để xác định khoảng cho vòng lặp.

Để đếm ngược, hãy dùng downTo:

for (i in 5 downTo 1) {
    println(i)
}
// Đầu ra: 5, 4, 3, 2, 1

Để bỏ qua một số, hãy thêm step để điều chỉnh bước tăng:

for (i in 0..10 step 2) {
    println(i)
}
// Đầu ra: 0, 2, 4, 6, 8, 10

Bạn có thể kết hợp downTo với step để đếm ngược theo khoảng tùy chỉnh:

for (i in 10 downTo 1 step 3) {
    println(i)
}
// Đầu ra: 10, 7, 4, 1

Nếu bạn cần loại trừ giá trị cuối cùng, hãy dùng until thay cho ..:

for (i in 1 until 5) {
    println(i)
}
// Đầu ra: 1, 2, 3, 4

Từ khóa until đặc biệt hữu ích khi làm việc với chỉ số bắt đầu từ 0, vì bạn thường cần dừng trước khi chạm đến một số nhất định.

challenge icon

Thử thách

Trung bình

Đọc hai số nguyên từ đầu vào: start và end.

In tất cả số chẵn từ start giảm dần đến end (bao gồm cả hai đầu mút), mỗi số trên một dòng riêng.

Dùng downTo với step để tạo phạm vi. Nếu start là số lẻ, hãy bắt đầu từ số chẵn đầu tiên nhỏ hơn nó.

Ví dụ, nếu đầu vào là:

10
2

Đầu ra sẽ là:

10
8
6
4
2

Nếu đầu vào là:

9
3

Đầu ra sẽ là:

8
6
4

Nếu không có số chẵn nào trong phạm vi được yêu cầu, hãy in No even numbers trên một dòng. Nếu không, hãy in mỗi số chẵn trên một dòng riêng.

Tự làm thử

fun main() {
    // Đọc đầu vào
    val start = readLine()!!.toInt()
    val end = readLine()!!.toInt()
    
    // TODO: Viết code của bạn bên dưới
    // Dùng downTo với step để in ra tất cả các số chẵn từ start giảm dần đến end
    // Nếu start là số lẻ, hãy bắt đầu từ số chẵn đầu tiên nhỏ hơn start
    
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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

Tự luyện tập: Playground Kotlin