Mutual recursion: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 504: Line 504:


=={{header|Arturo}}==
=={{header|Arturo}}==
<lang rebol>f: $[n][ if? n=0 -> 1 else -> n-m f n-1 ]
m: $[n][ if? n=0 -> 0 else -> n-f m n-1 ]
loop 0..20 'i [
print ["f(" i ")=" f i]
print ["m(" i ")=" m i]
print ""
]</lang>


{{out}}
<lang arturo>f: @(n)-> if n=0 {1} { n-[m|f n-1] }
m: @(n)-> if n=0 {0} { n-[f|m n-1] }


<pre>f( 0 )= 1
loop 0..10 {
m( 0 )= 0
print "f("+&+")= " + [f &]
print "m("+&+")= " + [m &] + "\n"
}
</lang>


f( 1 )= 1
{{out}}
m( 1 )= 0

f( 2 )= 2
m( 2 )= 1

f( 3 )= 2
m( 3 )= 2

f( 4 )= 3
m( 4 )= 2

f( 5 )= 3
m( 5 )= 3

f( 6 )= 4
m( 6 )= 4

f( 7 )= 5
m( 7 )= 4

f( 8 )= 5
m( 8 )= 5


<pre>f(0)= 1
f( 9 )= 6
m(0)= 0
m( 9 )= 6


f(1)= 1
f( 10 )= 6
m(1)= 0
m( 10 )= 6


f(2)= 2
f( 11 )= 7
m(2)= 1
m( 11 )= 7


f(3)= 2
f( 12 )= 8
m(3)= 2
m( 12 )= 7


f(4)= 3
f( 13 )= 8
m(4)= 2
m( 13 )= 8


f(5)= 3
f( 14 )= 9
m(5)= 3
m( 14 )= 9


f(6)= 4
f( 15 )= 9
m(6)= 4
m( 15 )= 9


f(7)= 5
f( 16 )= 10
m(7)= 4
m( 16 )= 10


f(8)= 5
f( 17 )= 11
m(8)= 5
m( 17 )= 11


f(9)= 6
f( 18 )= 11
m(9)= 6
m( 18 )= 11


f(10)= 6
f( 19 )= 12
m(10)= 6
m( 19 )= 12


f( 20 )= 13
</pre>
m( 20 )= 12</pre>


=={{header|AutoHotkey}}==
=={{header|AutoHotkey}}==