code_projects_kotlin/STEP1_Basics/5_Recursion/main.kt

49 lines
912 B
Kotlin

fun rmin(ll: Array<Int>, i: Int? = null): Int {
if (i == null) {
return rmin(ll, ll.size - 1)
}
else {
val cur = ll[i]
if (i > 0) {
val next: Int = rmin(ll, i - 1)
if (next < cur) {
return next
}
else {
return cur
}
}
else {
return cur
}
}
}
fun main() {
val ll: Array<Int> = Array(10) {0 * 10}
// Gen random numbers
for (i in 0..9) {
ll[i] = (0..100).random()
}
var bll: String = ""
var first: Boolean = true
for (i in 0..9) {
if (first) {
bll += "${ll[i]}"
first = false
}
else {
bll += ", ${ll[i]}"
}
}
// Print out
println("""
Original list:
$bll
Min: ${rmin(ll)}
""".trimIndent())
}