Fibonacci எண்கள் என்பது ஒரு குறிப்பிட்ட வரிசையாகும், இதில் முதல் மதிப்பு 0 ஆகவும், இரண்டாவது மதிப்பு 1 ஆகவும் முன் அறிவிக்கப்படும். மீதமுள்ள எண்கள் இந்த இரண்டிலிருந்து முந்தைய இரண்டு எண்களைச் சேர்த்து உருவாக்கப்படுகின்றன. அனைத்து Fibonacci எண்களும் நேர்மறை முழு எண்கள், 0 இலிருந்து தொடங்குகின்றன. முதல் பன்னிரண்டு Fibonacci எண்கள் மற்றும் அவை எவ்வாறு பெறப்படுகின்றன என்பது பின்வருமாறு:
0
1
1 + 0 = 1
1 + 1 = 2
2 + 1 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
55 + 34 = 89
கூட்டு வெளிப்பாடுகள் இல்லாமல், இந்த Fibonacci எண்களை பின்வருமாறு அட்டவணையில் வைக்கலாம்:
0 | 1 | 1 | இரண்டு | 3 | 5 | 8 | 13 | இருபத்து ஒன்று | 3. 4 | 55 | 89 |
0 | 1 | இரண்டு | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | பதினொரு |
முதல் வரிசையில் Fibonacci எண்கள் உள்ளன. இரண்டாவது வரிசையில் பூஜ்ஜிய அடிப்படையிலான குறியீடுகள் உள்ளன, Fibonacci எண்கள் ஒரு வரிசையில் இருப்பதாகக் கொள்ளலாம்
ஃபைபோனச்சி எண்களை O(n) நேரத்திலும் O(1) நேரத்திலும் உருவாக்கலாம். இந்த நேர சிக்கலான வெளிப்பாடுகளில், n என்பது n முக்கிய செயல்பாடுகள் மற்றும் 1 என்பது 1 முக்கிய செயல்பாடு. O(n) உடன், n Fibonacci எண்கள் 0 இலிருந்து தொடங்கி, O(1) உடன், ஒரு Fibonacci எண் தொடர்புடைய குறியீட்டிலிருந்து உருவாக்கப்படுகிறது. அதனால்தான் இது n முக்கிய செயல்பாடுகளுக்குப் பதிலாக ஒரே ஒரு முக்கிய செயல்பாட்டை எடுக்கும்.
பைத்தானைப் பயன்படுத்தி ஃபைபோனச்சி எண்களை எப்படி உருவாக்குவது என்பதை விளக்குவதே இந்தக் கட்டுரையின் நோக்கம்.
ஃபைபோனச்சி எண்ணுக்கான சூத்திரம்
ஃபைபோனச்சி எண்ணின் முறையான வரையறை:
அங்கு எஃப் n பூஜ்ஜிய அடிப்படையிலான n n 1 எனில், 0 மட்டுமே ஃபைபோனச்சி எண்ணாக அச்சிடப்படும். n 2 எனில், 0 மற்றும் 1 ஆகியவை அந்த வரிசையில் ஃபைபோனச்சி எண்களாக அச்சிடப்படும். n 3 எனில், 0, 1 மற்றும் 1 ஆகியவை அந்த வரிசையில் ஃபைபோனச்சி எண்களாக அச்சிடப்படும். n 4 ஆக இருந்தால், 0, 1, 1, மற்றும் 2 ஆகியவை அந்த வரிசையில் ஃபைபோனச்சி எண்களாக அச்சிடப்படும். n 5 எனில், 0, 1, 1, 2 மற்றும் 3 ஆகியவை அந்த வரிசையில் ஃபைபோனச்சி எண்களாக அச்சிடப்படும். n 6 எனில், 0, 1, 1, 2, 3, மற்றும் 5 ஆகியவை ஃபைபோனச்சி எண்களாக அச்சிடப்படும், அந்த வரிசையில் - மற்றும் பல. முதல் n Fibonacci எண்களை உருவாக்கும் பைதான் செயல்பாடு: இது n உறுப்புகளின் வரிசையை உருவாக்குவதன் மூலம் தொடங்குகிறது, அனைத்தும் பூஜ்ஜியங்களுக்கு துவக்கப்படும். இந்த வரிசை ஃபைபோனச்சி எண்களை வைத்திருக்கும். முதல் Fibonacci எண், 0, ஏற்கனவே உள்ளது. இரண்டாவது Fibonacci எண், 1, அடுத்த அறிக்கையால் (செயல்பாட்டில்) ஒதுக்கப்படுகிறது. பின்னர் for-லூப் உள்ளது, இது குறியீட்டு 2 இல் இருந்து n க்கு சற்று முன் தொடங்குகிறது. அதில் அறிக்கை உள்ளது: இது உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்க்கிறது. செயல்பாட்டை அழைப்பதற்கான குறியீடு மற்றும் முதல் பன்னிரண்டு ஃபைபோனச்சி எண்களை அச்சிடலாம்: N = 12 வெளியீடு: பூஜ்ஜிய அடிப்படையிலான குறியீட்டை அதன் தொடர்புடைய ஃபைபோனச்சி எண்ணுடன் தொடர்புபடுத்தும் ஒரு கணித சூத்திரம் உள்ளது. சூத்திரம்: சமன்பாட்டின் வலது புறத்தில், 5 இன் வர்க்கமூலம் அல்ல, சக்தி nக்கு உயர்த்தப்பட்டது என்பதை நினைவில் கொள்க; அடைப்புக்குறிக்குள் உள்ள வெளிப்பாடுதான் சக்தி nக்கு உயர்த்தப்படுகிறது. அத்தகைய இரண்டு வெளிப்பாடுகள் உள்ளன. n 0 என்றால், Fibn 0 ஆக இருக்கும். n 1 என்றால், Fib n 1 ஆக இருக்கும். n என்றால் 2, Fib n 1 ஆக இருக்கும். n என்றால் 3, Fib n 2 ஆக இருக்கும். n 4 ஆக இருந்தால், Fib n 3 ஆக இருக்கும் - மற்றும் பல. n க்கு வெவ்வேறு மதிப்புகளை மாற்றி மதிப்பீடு செய்வதன் மூலம் வாசகர் இந்த சூத்திரத்தை கணித ரீதியாக சரிபார்க்க முடியும். இந்த சூத்திரத்தில் n என்பது பூஜ்ஜிய அடிப்படையிலான குறியீடாகும். இந்த சூத்திரத்திற்கான பைதான் குறியீடு: இறக்குமதி கணிதம் கணித தொகுதி இறக்குமதி செய்யப்பட்டது. இது வர்க்க மூல செயல்பாட்டைக் கொண்டுள்ளது. ஆபரேட்டர், ** சக்திக்கு பயன்படுத்தப்படுகிறது. fibNo() செயல்பாடு நேரடியாக சூத்திரத்தை செயல்படுத்துகிறது. fibNo() செயல்பாட்டிற்கான பொருத்தமான அழைப்பு மற்றும் அச்சிடுதல்: N = 11 வெளியீடு: பதிலில் இருந்து தேவையற்ற தசம இலக்கங்களை நீக்க முடியும். இருப்பினும், இது வேறு சில நேரத்திற்கான விவாதம். வெவ்வேறு n குறியீடுகளுக்கு வெவ்வேறு Fibonacci எண்கள் தேவைப்பட்டால், வெவ்வேறு தொடர்புடைய Fibonacci எண்களை வழங்க fibNo() செயல்பாடு n ஒவ்வொரு n குறியீட்டிற்கும் ஒருமுறை அழைக்கப்பட வேண்டும். பின்வரும் நிரல் பூஜ்ஜிய அடிப்படையிலான குறியீடுகளுக்கு, 7 முதல் 9 வரை (உள்ளடக்கப்பட்டது) இதைச் செய்கிறது: இறக்குமதி கணிதம் வெளியீடு: பைத்தானில் ஃபார்-லூப் குறியிடப்பட்ட விதத்தைக் கவனியுங்கள். முதல் குறியீடானது 7. அடுத்த குறியீட்டு எண் 8, மற்றும் கடைசி குறியீடு 9. 10 வரம்பு வாதத்தில் 9 + 1. 10 இன் நிலையில் உள்ள மதிப்பு கடைசி பூஜ்ஜிய அடிப்படையிலான குறியீட்டைக் கூட்டல் 1 ஆக இருக்க வேண்டும். முதல் வாதம், 7, தொடக்க பூஜ்ஜிய அடிப்படையிலான குறியீடாகும். ஃபைபோனச்சி எண்கள் முழு எண்களின் ஒரு குறிப்பிட்ட வரிசையாகும் (நேர்மறை முழு எண்கள்). இது 0 உடன் தொடங்குகிறது, அதைத் தொடர்ந்து 1 நிபந்தனையின்றி. மீதமுள்ள எண்கள் உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்ப்பதன் மூலம் உருவாக்கப்படுகின்றன. முதல் n Fibonacci எண்களைப் பெற, 0 மற்றும் 1 ஐ முதல் இரண்டாக ஏற்கவும், பின்னர் மீதமுள்ளவற்றுக்கு, இது போன்ற ஒரு அறிக்கையுடன் ஃபார்-லூப்பைப் பயன்படுத்தவும்: இது உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்க்கிறது. பூஜ்ஜிய அடிப்படையிலான குறியீட்டு n இலிருந்து ஒரு ஃபைபோனச்சி எண்ணைப் பெற, சூத்திரத்தைப் பயன்படுத்தவும்:
O(n) நேரத்தில் Fibonacci எண்களை உருவாக்குதல்
அர்ர் = [ 0 ] * ( n )
arr [ 1 ] = 1
க்கான நான் உள்ளே சரகம் ( இரண்டு , என் ) :
arr [ நான் ] = அர்ர் [ நான் - 1 ] + ஏர் [ நான் - இரண்டு ]
திரும்ப arr
A = fibonacci(N)
நான் வரம்பில் (N):
அச்சிட (A[i], முடிவு=’ ‘)
அச்சு () நிலையான நேரத்தில் ஒரு Fibonacci எண்ணை உருவாக்குதல்
FibN = ( ( ( 1 +math.sqrt ( 5 ) ) / இரண்டு ) ** n - ( ( 1 -math.sqrt ( 5 ) ) / இரண்டு ) ** n ) / கணிதம். சதுர ( 5 )
திரும்ப FibN
வலது = fibNo(N)
அச்சு (ஓய்வு)
FibN = ( ( ( 1 +math.sqrt ( 5 ) ) / இரண்டு ) ** n - ( ( 1 -math.sqrt ( 5 ) ) / இரண்டு ) ** n ) / கணிதம். சதுர ( 5 )
திரும்ப FibN
க்கான நான் உள்ளே சரகம் ( 7 , 10 ) :
அச்சு ( fibNo ( நான் ) , முடிவு = '''' )
அச்சு ( )
முடிவுரை