Mutual recursion: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add ABC) |
No edit summary |
||
Line 1,446: | Line 1,446: | ||
[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> |
|||
=={{header|EMalr}}== |
|||
<syntaxhighlight lang="emal"> |
|||
fun F = int by int n |
|||
if n == 0 do return 1 end |
|||
return n - M(F(n - 1)) |
|||
end |
|||
fun M = int by int n |
|||
if n == 0 do return 0 end |
|||
return n - F(M(n - 1)) |
|||
end |
|||
write("F: ") |
|||
range(0, 21).list(<int n|write(F(n) + ", ")) |
|||
writeLine("...") |
|||
write("M: ") |
|||
range(0, 21).list(<int n|write(M(n) + ", ")) |
|||
writeLine("...") |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
F: 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9, 9, 10, 11, 11, 12, 13, ... |
|||
M: 0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 11, 11, 12, 12, ... |
|||
</pre> |
</pre> |
||