Menu
Coddy logo textTech

Диапазоны в циклах

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

До сих пор мы использовали 1..5, чтобы создавать диапазоны, увеличивающиеся на единицу. Kotlin предлагает более гибкие способы определения диапазонов для циклов.

Чтобы считать в обратном порядке, используй downTo:

for (i in 5 downTo 1) {
    println(i)
}
// Вывод: 5, 4, 3, 2, 1

Чтобы пропускать числа, добавь step, чтобы управлять шагом:

for (i in 0..10 step 2) {
    println(i)
}
// Вывод: 0, 2, 4, 6, 8, 10

Вы можете объединить downTo с step для обратного отсчёта с пользовательскими интервалами:

for (i in 10 downTo 1 step 3) {
    println(i)
}
// Вывод: 10, 7, 4, 1

Если нужно исключить последнее значение, используйте until вместо ..:

for (i in 1 until 5) {
    println(i)
}
// Вывод: 1, 2, 3, 4

Ключевое слово until особенно полезно при работе с индексами, начинающимися с нуля, когда часто нужно остановиться, не достигнув определённого числа.

challenge icon

Задание

Средне

Считайте из ввода два целых числа: start и end.

Выведите все чётные числа от start до end в обратном порядке (включительно), каждое с новой строки.

Используйте downTo с step, чтобы создать диапазон. Если start нечётное, начните с первого чётного числа меньше него.

Например, если ввод такой:

10
2

Вывод должен быть таким:

10
8
6
4
2

Если ввод такой:

9
3

Вывод должен быть таким:

8
6
4

Если в указанном диапазоне нет чётных чисел, выведите No even numbers в одной строке. В противном случае выведите каждое чётное число в отдельной строке.

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

fun main() {
    // Читать ввод
    val start = readLine()!!.toInt()
    val end = readLine()!!.toInt()
    
    // TODO: Напишите ваш код ниже
    // Используйте downTo с step, чтобы вывести все чётные числа от start вниз до end
    // Если start нечётный, начните с первого чётного числа ниже него
    
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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