Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Usual recursive function for calculating fibonacci
- def fib(n):
- if n == 1 or n == 2:
- return 1
- else:
- return fib(n - 1) + fib(n - 2)
- print("fib(5) is", fib(5))
- print("fib(10) is", fib(10))
- '''
- Another version to see what is happening with print statements in the conditions.
- The execution also climbs down and up the ladder like what happened for factorial
- '''
- def fib(n):
- if n == 1 or n == 2:
- print("Found fib(", n, "): returning 1!", sep = "")
- return 1
- else:
- print("Finding fib(", n, "): fib(", n - 1, ") + fib(", n-2, ")", sep = "")
- result = fib(n - 1) + fib(n - 2)
- print("Found fib(", n, "): ", result, sep = "") #after number is found for fib(4), it wil start another round for fib(3)
- return result
- print("fib(5) is", fib(5))
- '''
- Output will show:
- Finding fib(5): fib(4) + fib(3)
- Finding fib(4): fib(3) + fib(2)
- Finding fib(3): fib(2) + fib(1)
- Found fib(2): returning 1!
- Found fib(1): returning 1!
- Found fib(3): 2
- Found fib(2): returning 1!
- Found fib(4): 3
- Finding fib(3): fib(2) + fib(1)
- Found fib(2): returning 1!
- Found fib(1): returning 1!
- Found fib(3): 2
- Found fib(5): 5
- fib(5) is 5
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement