Use range helpers to count through a compact set of values.

range-helpers Ranges can be combined with helpers such as `step` and `joinToString`.

Range Helpers

end
RangeHelpers.kt
Replay: real traced execution (multi-file project)
fun main() {
    val end = 5
    val values = (1..end).step(2).joinToString(",")
    val containsFive = 5 in 1..end

    println("end=$end")
    println("values=$values")
    println("containsFive=$containsFive")
}
fun main() {
    val end = 3
    val values = (1..end).step(2).joinToString(",")
    val containsFive = 5 in 1..end

    println("end=$end")
    println("values=$values")
    println("containsFive=$containsFive")
}
fun main() {
    val end = 7
    val values = (1..end).step(2).joinToString(",")
    val containsFive = 5 in 1..end

    println("end=$end")
    println("values=$values")
    println("containsFive=$containsFive")
}
  1. end ← 5, values ← 1,3,5, containsFive ← true

    1fun main() {2    val end→ 5 = 5 //@end=3, 73    val values→ 1,3,5 = (1..end5).step(2).joinToString(",")4    val containsFive→ true = 5 in 1..end556    println("end=$end5")7    println("values=$values1,3,5")8    println("containsFive=$containsFivetrue")9}
    outputend=5
    values=1,3,5
    containsFive=true
  1. end ← 3, values ← 1,3, containsFive ← false

    1fun main() {2    val end→ 3 = 33    val values→ 1,3 = (1..end3).step(2).joinToString(",")4    val containsFive→ false = 5 in 1..end356    println("end=$end3")7    println("values=$values1,3")8    println("containsFive=$containsFivefalse")9}
    outputend=3
    values=1,3
    containsFive=false
  1. end ← 7, values ← 1,3,5,7, containsFive ← true

    1fun main() {2    val end→ 7 = 73    val values→ 1,3,5,7 = (1..end7).step(2).joinToString(",")4    val containsFive→ true = 5 in 1..end756    println("end=$end7")7    println("values=$values1,3,5,7")8    println("containsFive=$containsFivetrue")9}
    outputend=7
    values=1,3,5,7
    containsFive=true