![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The following diagram shows rabbits
and two rabbits
auxiliaries working to determine how many rabbits there are at the end of
3 months.
Arguments | ^ Answered values 3 v | 3 *-------------* | rabbits | *-------------* | ^ | ^ 3 | | 3 | *------------* | | *-------------* | v | 2 v | 1 *-------------* *-------------* | previous | | penultimate | *-------------* *-------------* 2 | ^ 1 | ^ v | 2 v | 1 *-------------* *-------------* | rabbits | | rabbits | *-------------* *-------------* | ^ | ^ 2 | | 2 | *------------* | | *-------------* | v | 1 v | 1 *-------------* *-------------* | previous | | penultimate | *-------------* *-------------* 1 | ^ 0 | ^ v | 1 v | 1 *-------------* *-------------* | rabbits | | rabbits | *-------------* *-------------*
Each of the three cooperating methods can initiate a chain of calls that ends in a call to itself. Thus, the cooperating methods exhibit indirect, rather than direct, recursion.