Mutual recursion: Difference between revisions

Content added Content deleted
m (Added LSL.)
(adding maxima)
Line 968: Line 968:


0 0 1 2 2 3 4 4 5 6 6</lang>
0 0 1 2 2 3 4 4 5 6 6</lang>

=={{header|Maxima}}==

<lang maxima>f[0]: 1$
m[0]: 0$
f[n] := n - m[f[n - 1]]$
m[n] := n - f[m[n - 1]]$

makelist(f[i], i, 0, 10);
[1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6]

makelist(m[i], i, 0, 10);
[0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6]

remarray(m, f)$

f(n) := if n = 0 then 1 else n - m(f(n - 1))$
m(n) := if n = 0 then 0 else n - f(m(n - 1))$

makelist(f(i), i, 0, 10);
[1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6]

makelist(m(i), i, 0, 10);
[0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6]

remfunction(f, m)$</lang>


=={{header|Mercury}}==
=={{header|Mercury}}==