Mutual recursion: Difference between revisions

Content added Content deleted
(Added a solution for MATLAB)
Line 661: Line 661:
<lang Mathematica>{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}
<lang Mathematica>{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}
{1,2,2,3,3,4,5,5,6,6,7,8,8,9,9,10,11,11,12,13,13,14,14,15,16,16,17,17,18,19}</lang>
{1,2,2,3,3,4,5,5,6,6,7,8,8,9,9,10,11,11,12,13,13,14,14,15,16,16,17,17,18,19}</lang>

=={{header|MATLAB}}==
female.m
<lang MATLAB>function Fn = female(n)

if n == 0
Fn = 1;
return
end
Fn = n - male(female(n-1));
end</lang>

male.m:
<lang MATLAB>function Mn = male(n)
if n == 0
Mn = 0;
return
end
Mn = n - female(male(n-1));
end</lang>

Sample Output:
<lang MATLAB>>> n = (0:10);
>> arrayfun(@female,n)

ans =

1 1 2 2 3 3 4 5 5 6 6

>> arrayfun(@male,n)

ans =

0 0 1 2 2 3 4 4 5 6 6</lang>



=={{header|MMIX}}==
=={{header|MMIX}}==