Mutual recursion: Difference between revisions
Content added Content deleted
(Initial FutureBasic task solution added) |
|||
Line 1,614: | Line 1,614: | ||
{{FormulaeEntry|page=https://formulae.org/?script=examples/Mutual_recursion}} |
{{FormulaeEntry|page=https://formulae.org/?script=examples/Mutual_recursion}} |
||
=={{header|FutureBasic}}== |
|||
I<syntaxhighlight lang="futurebasic"> |
|||
def fn F( n as long ) as long |
|||
def fn M( n as long ) as long |
|||
local fn F( n as long ) as long |
|||
long result |
|||
if n == 0 then exit fn = 1 |
|||
result = n - fn M( fn F( n-1 ) ) |
|||
end fn = result |
|||
local fn M( n as long ) as long |
|||
long result |
|||
if n == 0 then exit fn = 0 |
|||
result = n - fn F( fn M( n-1 ) ) |
|||
end fn = result |
|||
long i, counter |
|||
counter = 0 |
|||
for i = 0 to 19 |
|||
printf @"%3ld\b", fn F( i ) |
|||
counter++ |
|||
if counter mod 5 == 0 then print : counter = 0 |
|||
next |
|||
print : print |
|||
counter = 0 |
|||
for i = 0 to 19 |
|||
printf @"%3ld\b", fn M( i ) |
|||
counter++ |
|||
if counter mod 5 == 0 then print : counter = 0 |
|||
next |
|||
NSLog( @"%@", fn WindowPrintViewString( 1 ) ) |
|||
HandleEvents |
|||
</syntaxhighlight> |
|||
{{output}} |
|||
<pre> |
|||
1 1 2 2 3 |
|||
3 4 5 5 6 |
|||
6 7 8 8 9 |
|||
9 10 11 11 12 |
|||
0 0 1 2 2 |
|||
3 4 4 5 6 |
|||
6 7 7 8 9 |
|||
9 10 11 11 12 |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |