2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
22
Task/Mutual-recursion/S-lang/mutual-recursion.slang
Normal file
22
Task/Mutual-recursion/S-lang/mutual-recursion.slang
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
% Forward definitions: [also deletes any existing definition]
|
||||
define f();
|
||||
define m();
|
||||
|
||||
define f(n) {
|
||||
if (n == 0) return 1;
|
||||
else if (n < 0) error("oops");
|
||||
return n - m(f(n - 1));
|
||||
}
|
||||
|
||||
define m(n) {
|
||||
if (n == 0) return 0;
|
||||
else if (n < 0) error("oops");
|
||||
return n - f(m(n - 1));
|
||||
}
|
||||
|
||||
foreach $1 ([0:19])
|
||||
() = printf("%d ", f($1));
|
||||
() = printf("\n");
|
||||
foreach $1 ([0:19])
|
||||
() = printf("%d ", m($1));
|
||||
() = printf("\n");
|
||||
Loading…
Add table
Add a link
Reference in a new issue