Mutual recursion: Difference between revisions

Content added Content deleted
m (Added Sidef language)
Line 2,035: Line 2,035:
end func;</lang>
end func;</lang>


{{out}}
Output:
<pre>
<pre>
1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12
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
0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12
</pre>
</pre>

=={{header|Sidef}}==
<lang ruby>func F(){};
func M(){};

F = func(n) { n > 0 ? (n - M(F(n-1))) : 1 };
M = func(n) { n > 0 ? (n - F(M(n-1))) : 0 };

[F, M].each { |seq|
(0..19).map {|i| seq.call(i)}.join(' ').say;
}</lang>
{{out}}
<pre>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|Smalltalk}}==
=={{header|Smalltalk}}==