पुनरावर्ती (recursive) फ़ंक्शनों में कभी-कभी अलग-अलग मानों के साथ उसी फ़ंक्शन को कई बार कॉल करना उपयोगी साबित हो सकता है। उदाहरण के लिए, यदि हम रेकर्सिव फ़ंक्शन से n-वाँ फ़िबोनाची संख्या निकालना चाहते हैं, तो यह कुछ इस प्रकार दिख सकता है:
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)
यहाँ, हर बार तर्क n के लिए, हम n-1 और n-2 तर्कों के साथ फ़ंक्शन fib को दो बार रेकर्सिव कॉल करते हैं।
चुनौती - पुनरावर्ती Fibonacci
पता लगाएँ कि fib फ़ंक्शन को कुल कितनी बार कॉल किया जाता है।
इनपुट
इनपुट में एक अकेला पूर्णांक n दिया होता है (0 ≤ n ≤ 20)।
आउटपुट
कार्यक्रम को यह संख्या प्रदर्शित करनी चाहिए कि fib फ़ंक्शन कितनी बार कॉल किया गया।