Introduction to Programming using Python 1st Edition

Published by Pearson
ISBN 10: 0132747189
ISBN 13: 978-0-13274-718-9

Chapter 15 - Recursion - Section 15.11 - Tail Recursion - Check Point - MyProgrammingLab - Page 522: 15.22

Answer

def fib(n): return fibHelper(n, 0, 1) def fibHelper(n, a = 0, b = 1): if n == 0 return a if (n == 1) return b return fib(n - 1, b, a + b)

Work Step by Step

Here the fib function just calls the fibHelper function and the fibHelper function makes only one recursive call at the very end of the program, there is no other operation that need to be done after that call hence the function is tail recursive.
Update this answer!

You can help us out by revising, improving and updating this answer.

Update this answer

After you claim an answer you’ll have 24 hours to send in a draft. An editor will review the submission and either publish your submission or provide feedback.