RosettaCodeData/Task/Mutual-recursion/Kotlin/mutual-recursion.kts

28 lines
518 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
// version 1.0.6
fun f(n: Int): Int =
when {
n == 0 -> 1
else -> n - m(f(n - 1))
}
fun m(n: Int): Int =
when {
n == 0 -> 0
else -> n - f(m(n - 1))
}
fun main(args: Array<String>) {
val n = 24
print("n :")
for (i in 0..n) print("%3d".format(i))
println()
2024-03-06 22:25:12 -08:00
println("-".repeat((n + 2) * 3))
2023-07-01 11:58:00 -04:00
print("F :")
2024-03-06 22:25:12 -08:00
for (i in 0..n) print("%3d".format(f(i)))
2023-07-01 11:58:00 -04:00
println()
print("M :")
2024-03-06 22:25:12 -08:00
for (i in 0..n) print("%3d".format(m(i)))
2023-07-01 11:58:00 -04:00
println()
}