On 03/23/2015 12:01 PM, Ganesh Pal wrote:
Hello team ,
[root@localhost Python]# cat fibonacci-Sequence-3.py
## Example 2: Using recursion
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
print fib(5)
# python fibonacci-Sequence-3.py
5
what Iam I missing in the program , I was expecting 0,1,1,2,3 ?
You're missing the loop at top-level. The function as written
calculates a single value, by using recursion. While it's true that the
function also calculates the lower-numbered values, it doesn't print them.
Printing is (rightly) only done at the top-level, and that's where you'd
need a loop.
An entirely separate question is whether you can gain performance by
caching intermediate values. For example, if you capture values in a
list, you could potentially save a lot of time, at least for non-trivial
values of n.
--
DaveA
--
https://mail.python.org/mailman/listinfo/python-list