Mutual recursion: Difference between revisions
Content added Content deleted
m (Added LSL.) |
Capra Hircus (talk | contribs) (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}}== |