Mutual recursion: Difference between revisions
Content added Content deleted
(Added Wren) |
No edit summary |
||
Line 3,295: | Line 3,295: | ||
println()</lang> |
println()</lang> |
||
=={{header|Symsyn}}== |
|||
<lang Symsyn> |
|||
F param Fn |
|||
if Fn = 0 |
|||
1 R |
|||
else |
|||
(Fn-1) nm1 |
|||
save Fn |
|||
call F nm1 |
|||
result Fr |
|||
save Fr |
|||
call M Fr |
|||
result Mr |
|||
restore Fr |
|||
restore Fn |
|||
(Fn-Mr) R |
|||
endif |
|||
return R |
|||
M param Mn |
|||
if Mn = 0 |
|||
0 R |
|||
else |
|||
(Mn-1) nm1 |
|||
save Mn |
|||
call M nm1 |
|||
result Mr |
|||
save Mr |
|||
call F Mr |
|||
result Fr |
|||
restore Mr |
|||
restore Mn |
|||
(Mn-Fr) R |
|||
endif |
|||
return R |
|||
start |
|||
i |
|||
if i <= 19 |
|||
call F i |
|||
result res |
|||
" $s res ' '" $s |
|||
+ i |
|||
goif |
|||
endif |
|||
$s [] |
|||
$s |
|||
i |
|||
if i <= 19 |
|||
call M i |
|||
result res |
|||
" $s res ' '" $s |
|||
+ i |
|||
goif |
|||
endif |
|||
$s [] |
|||
</lang> |
|||
=={{header|Tailspin}}== |
=={{header|Tailspin}}== |
||
<lang tailspin> |
<lang tailspin> |