Files
kotlin-fork/compiler/testData/codegen/box/diagnostics/functions/tailRecursion/recursiveCallInInlineLambdaWithCapture.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

19 lines
473 B
Kotlin
Vendored

// KT-14961
// IGNORE_BACKEND: JVM
// WITH_STDLIB
fun listOfFactor(number: Int): List<Int> {
tailrec fun listOfFactor(number: Int, acc: List<Int>): List<Int> {
(2..number).forEach {
if (number % it == 0) return listOfFactor(number / it, acc + it)
}
return acc
}
return listOfFactor(number, emptyList())
}
fun box(): String {
val factors = listOfFactor(60)
return if (factors.size == 4) "OK" else "Fail: $factors"
}