HTML and CSS Reference
In-Depth Information
EXPLANATION
1
The variable,
count
, is initialized outside the function, making it global. It will
keep track of the number of times the
fib()
function is called.
2
The
fib()
function introduces the concept of recursion, a function that calls itself.
This function starts the initial task and in itself is not recursive. When the same
task needs to be repeated, that is when
fib()
will call itself.
3
Each time the function is called, the value of
count
is incremented by 1.
4
The first two Fibonacci numbers are 0 and 1, and each remaining number is the
sum of the previous two. The
switch
statement is used to check for the incoming
values of a number,
num
. If
num
is 0, the value returned will be 0; if it is 1, the
value returned is 0 + 1. Because these cases are so simple there is no need for re-
cursion. If the number is greater than 1, then the default case is entered.
5
The first values in the sequence are 0 and 1. The value 1 is returned.
6
This is the heart of the recursive program. If the number is not 0 or 1, the default
case is entered, and the remaining number is the sum of the previous two num-
bers. The function
fib()
is used within its own definition. The result of the first
call to the
fib()
function is added to the result of next call to
fib(
) , returning the
result to line 8.
7
The loop iterates 20 times. For each iteration, the function
fib()
is called, which
calls itself.
8
Each time through the for loop, the function
fib()
is called passing the value
n
as
its argument (see line 6).
9
The value of the
count
variable increases by one every time the
fib()
function is
called. With recursion, the function was called 35,400 times (see Figure 7.15).
Figure 7.15
Recursion with the Fibonacci series.