Mutual recursion: Difference between revisions
Content added Content deleted
(Added XPL0 example) |
m (→with memoization: added a comment. -- ~~~~) |
||
Line 1,651: | Line 1,651: | ||
say 'Fs=' Fs |
say 'Fs=' Fs |
||
say 'Ms=' Ms |
say 'Ms=' Ms |
||
exit /*stick a fork in it, we're done.*/ |
|||
exit |
|||
/*─────────────────────────────────────F, M, Jw subroutines────────────*/ |
/*─────────────────────────────────────F, M, Jw subroutines────────────*/ |
||
F: procedure expose hm. hf.; arg n; if hf.n=='' then hf.n=n-M(F(n-1)); return hf.n |
F: procedure expose hm. hf.; arg n; if hf.n=='' then hf.n=n-M(F(n-1)); return hf.n |
||
Line 1,662: | Line 1,662: | ||
Ms= 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 12 13 14 14 15 16 16 17 17 18 19 19 20 20 21 22 22 23 24 24 25 25 26 27 27 28 29 29 30 30 31 32 32 33 33 34 35 35 36 37 37 38 38 39 40 40 41 42 42 43 43 44 45 45 46 46 47 48 48 49 50 50 51 51 52 53 53 54 54 55 56 56 57 58 58 59 59 60 61 61 |
Ms= 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 12 13 14 14 15 16 16 17 17 18 19 19 20 20 21 22 22 23 24 24 25 25 26 27 27 28 29 29 30 30 31 32 32 33 33 34 35 35 36 37 37 38 38 39 40 40 41 42 42 43 43 44 45 45 46 46 47 48 48 49 50 50 51 51 52 53 53 54 54 55 56 56 57 58 58 59 59 60 61 61 |
||
</pre> |
</pre> |
||
===with memoization, specific entry=== |
===with memoization, specific entry=== |
||
This version is identical in function to the previous example, but it also can compute and |
This version is identical in function to the previous example, but it also can compute and |