Класс IntProgression
Класс IntProgression представляет собой
арифметическую прогрессию целых чисел с начальным
значением first, конечным значением last
и шагом step. Прогрессия может быть как
возрастающей, так и убывающей в зависимости
от знака шага.
Создание прогрессии
Для создания прогрессии используются функции
until, downTo и оператор ..:
val progression1 = 1..10 // от 1 до 10 включительно, шаг 1
val progression2 = 1 until 10 // от 1 до 9, шаг 1
val progression3 = 10 downTo 1 // от 10 до 1, шаг -1
val progression4 = 1..10 step 2 // от 1 до 10, шаг 2
Свойства
val progression = 1..10 step 2
val first: Int = progression.first
val last: Int = progression.last
val step: Int = progression.step
Результат выполнения кода:
Int 1
Int 10
Int 2
Пример
Итерация по прогрессии с помощью цикла for:
for (i in 1..5) {
println(i)
}
Результат выполнения кода:
Int 1
Int 2
Int 3
Int 4
Int 5
Пример
Итерация по убывающей прогрессии:
for (i in 5 downTo 1) {
println(i)
}
Результат выполнения кода:
Int 5
Int 4
Int 3
Int 2
Int 1
Пример
Итерация с шагом 2:
for (i in 1..10 step 2) {
println(i)
}
Результат выполнения кода:
Int 1
Int 3
Int 5
Int 7
Int 9
Пример
Использование функции until для исключения
последнего элемента:
for (i in 1 until 5) {
println(i)
}
Результат выполнения кода:
Int 1
Int 2
Int 3
Int 4
Пример
Проверка наличия элемента в прогрессии:
val progression = 1..10 step 2
val contains3 = 3 in progression
val contains4 = 4 in progression
println(contains3)
println(contains4)
Результат выполнения кода:
Boolean true
Boolean false