100 doors: Difference between revisions

Content added Content deleted
(Added an Agena sample)
Line 4,191: Line 4,191:
=={{header|Kotlin}}==
=={{header|Kotlin}}==
<lang Kotlin>fun oneHundredDoors(): List<Int> {
<lang Kotlin>fun oneHundredDoors(): List<Int> {
val doors = Array<Boolean>(100, { false })
val doors = BooleanArray(100, { false })


for (i in 0..99)
for (i in 0..99)
Line 4,197: Line 4,197:
doors[j] = !doors[j]
doors[j] = !doors[j]


return IndexIterator(doors.iterator()).filter { it.second }
return doors.asSequence().mapIndexed { i, b -> i to b }.filter { it.second }
.map { it.first + 1 }
.map { it.first + 1 }.toList()
.toList()
}</lang>
}</lang>