RosettaCodeData/Task/Mutual-recursion/FreeBASIC/mutual-recursion.freebasic

34 lines
686 B
Plaintext

' FB 1.05.0 Win64
' Need forward declaration of M as it's used
' by F before its defined
Declare Function M(n As Integer) As Integer
Function F(n As Integer) As Integer
If n = 0 Then
Return 1
End If
Return n - M(F(n - 1))
End Function
Function M(n As Integer) As Integer
If n = 0 Then
Return 0
End If
Return n - F(M(n - 1))
End Function
Dim As Integer n = 24
Print "n :";
For i As Integer = 0 to n : Print Using "###"; i; : Next
Print
Print String(78, "-")
Print "F :";
For i As Integer = 0 To n : Print Using "###"; F(i); : Next
Print
Print "M :";
For i As Integer = 0 To n : Print Using "###"; M(i); : Next
Print
Print "Press any key to quit"
Sleep