 nth fibonacci எண்ணைக் கணக்கிடுவதற்கான ஒரு சுழல்நிலை செயல்பாட்டை எனக்கு எழுதவும்
nவது Fibonacci எண்ணைக் கணக்கிடும் ஒரு சுழல்நிலை பைதான் செயல்பாடு fib(n) கீழே உள்ளது. இது ஒரு அடிப்படை வழக்கு மற்றும் ஒரு சுழல் வழக்கு என பிரிக்கப்பட்டுள்ளது. ஃபைபோனச்சி வரிசையின் முதல் இரண்டு சொற்கள் 0 மற்றும் 1, எனவே fib(0)=0 மற்றும் fib(1)=1 என்பதன் மூலம் அடிப்படை வழக்கு வழங்கப்படுகிறது. n வது Fibonacci எண் f_n ஆனது முந்தைய இரண்டு Fibonacci எண்களின் கூட்டுத்தொகையாக எழுதப்படலாம் என்பதன் மூலம் சுழல்நிலை வழக்கு வழங்கப்படுகிறது, எனவே f_n = f_{n-1} + f_{n-2}. இதையெல்லாம் சேர்த்து, ``` def fib(n): n == 0 எனில் # பேஸ் கேஸ் கிடைக்கும்: n என்றால் 0 திரும்ப == 1: return 1 # recursive case return fib(n - 1) + fib(n - 2) ``` இது எதிர்மறையான முழு எண் உள்ளீடுகளுக்கான n வது ஃபைபோனச்சி எண்ணை சரியாகக் கணக்கிடும். இருப்பினும், இந்த வழியில் ஃபைபோனச்சி எண்களை மீண்டும் மீண்டும் கணக்கிடுவது n இன் மதிப்பில் அதிவேக நேரத்தை எடுக்கும், எனவே பெரிய உள்ளீடுகளுக்கு இந்த குறியீடு மிகவும் மெதுவாக இருக்கலாம். முந்தைய முடிவுகளை நினைவுபடுத்துவதன் மூலமோ அல்லது மறுநிகழ்வு அல்லாத அணுகுமுறையைப் பயன்படுத்துவதன் மூலமோ இது மேம்படுத்தப்படலாம். எளிமையான மறுசெயல் அணுகுமுறைகள் சிக்கலை விரைவாக தீர்க்க முடியும், மேலும் nth Fibonacci எண்ணுக்கான மூடிய வடிவ வெளிப்பாடுகள் உள்ளன, மேலும் அவை மதிப்பிடுவதற்கும் வேகமாக இருக்கும்.