Mutual recursion: Difference between revisions
Content added Content deleted
m (→{{header|Sather}}: Grammar.) |
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}}== |