Mutual recursion: Difference between revisions

Added Kotlin
(Added Io entry.)
(Added Kotlin)
Line 1,215:
julia> [F(i) for i = 0:19], [M(i) for i = 0:19]
([1,1,2,2,3,3,4,5,5,6,6,7,8,8,9,9,10,11,11,12],[0,0,1,2,2,3,4,4,5,6,6,7,7,8,9,9,10,11,11,12])
</pre>
 
=={{header|Kotlin}}==
<lang scala>// 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()
println("-".repeat(78))
print("F :")
for (i in 0..24) print("%3d".format(f(i)))
println()
print("M :")
for (i in 0..24) print("%3d".format(m(i)))
println()
}</lang>
 
{{out}}
<pre>
n : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
------------------------------------------------------------------------------
F : 1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12 13 13 14 14 15
M : 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 12 13 14 14 15
</pre>
 
9,493

edits