பைதான் மொழியில் ஃபைபோனச்சி எண்கள்

Paitan Moliyil Hpaiponacci Enkal



'0 ஐ 1 உடன் சேர்த்தால், பதில் 1 ஆக இருக்கும். பதில் 1 மற்றும் கூட்டல் (ஆஜெண்ட் அல்ல) சேர்ந்தால், புதிய பதில் 2 ஆக இருக்கும். இந்த புதிய பதில் மற்றும் அதன் கூட்டல் ஒன்றாக சேர்ந்தால், பதில் 3 ஆக இருக்கும். இந்தப் புதிய பதிலையும் அதன் கூட்டலையும் ஒன்றாகச் சேர்த்தால், பதில் 5 ஆக இருக்கும்.

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

O(n) நேரத்தில் Fibonacci எண்களை உருவாக்குதல்

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 ) :
அர்ர் = [ 0 ] * ( n )
arr [ 1 ] = 1
க்கான நான் உள்ளே சரகம் ( இரண்டு , என் ) :
arr [ நான் ] = அர்ர் [ நான் - 1 ] + ஏர் [ நான் - இரண்டு ]
திரும்ப arr

இது n உறுப்புகளின் வரிசையை உருவாக்குவதன் மூலம் தொடங்குகிறது, அனைத்தும் பூஜ்ஜியங்களுக்கு துவக்கப்படும். இந்த வரிசை ஃபைபோனச்சி எண்களை வைத்திருக்கும். முதல் Fibonacci எண், 0, ஏற்கனவே உள்ளது. இரண்டாவது Fibonacci எண், 1, அடுத்த அறிக்கையால் (செயல்பாட்டில்) ஒதுக்கப்படுகிறது. பின்னர் for-லூப் உள்ளது, இது குறியீட்டு 2 இல் இருந்து n க்கு சற்று முன் தொடங்குகிறது. அதில் அறிக்கை உள்ளது:

arr [ நான் ] = அர்ர் [ நான் - 1 ] + ஏர் [ நான் - இரண்டு ]

இது உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்க்கிறது.

செயல்பாட்டை அழைப்பதற்கான குறியீடு மற்றும் முதல் பன்னிரண்டு ஃபைபோனச்சி எண்களை அச்சிடலாம்:

N = 12
A = fibonacci(N)
நான் வரம்பில் (N):
அச்சிட (A[i], முடிவு=’ ‘)
அச்சு ()

வெளியீடு:

0 1 1 இரண்டு 3 5 8 13 இருபத்து ஒன்று 3. 4 55 89

நிலையான நேரத்தில் ஒரு Fibonacci எண்ணை உருவாக்குதல்

பூஜ்ஜிய அடிப்படையிலான குறியீட்டை அதன் தொடர்புடைய ஃபைபோனச்சி எண்ணுடன் தொடர்புபடுத்தும் ஒரு கணித சூத்திரம் உள்ளது. சூத்திரம்:

சமன்பாட்டின் வலது புறத்தில், 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 என்பது பூஜ்ஜிய அடிப்படையிலான குறியீடாகும்.

இந்த சூத்திரத்திற்கான பைதான் குறியீடு:

இறக்குமதி கணிதம்

def fibNo ( n ) :
FibN = ( ( ( 1 +math.sqrt ( 5 ) ) / இரண்டு ) ** n - ( ( 1 -math.sqrt ( 5 ) ) / இரண்டு ) ** n ) / கணிதம். சதுர ( 5 )
திரும்ப FibN

கணித தொகுதி இறக்குமதி செய்யப்பட்டது. இது வர்க்க மூல செயல்பாட்டைக் கொண்டுள்ளது. ஆபரேட்டர், ** சக்திக்கு பயன்படுத்தப்படுகிறது. fibNo() செயல்பாடு நேரடியாக சூத்திரத்தை செயல்படுத்துகிறது. fibNo() செயல்பாட்டிற்கான பொருத்தமான அழைப்பு மற்றும் அச்சிடுதல்:

N = 11
வலது = fibNo(N)
அச்சு (ஓய்வு)

வெளியீடு:

89.0000000000003

பதிலில் இருந்து தேவையற்ற தசம இலக்கங்களை நீக்க முடியும். இருப்பினும், இது வேறு சில நேரத்திற்கான விவாதம்.

வெவ்வேறு n குறியீடுகளுக்கு வெவ்வேறு Fibonacci எண்கள் தேவைப்பட்டால், வெவ்வேறு தொடர்புடைய Fibonacci எண்களை வழங்க fibNo() செயல்பாடு n ஒவ்வொரு n குறியீட்டிற்கும் ஒருமுறை அழைக்கப்பட வேண்டும். பின்வரும் நிரல் பூஜ்ஜிய அடிப்படையிலான குறியீடுகளுக்கு, 7 முதல் 9 வரை (உள்ளடக்கப்பட்டது) இதைச் செய்கிறது:

இறக்குமதி கணிதம்

def fibNo ( n ) :
FibN = ( ( ( 1 +math.sqrt ( 5 ) ) / இரண்டு ) ** n - ( ( 1 -math.sqrt ( 5 ) ) / இரண்டு ) ** n ) / கணிதம். சதுர ( 5 )
திரும்ப FibN

க்கான நான் உள்ளே சரகம் ( 7 , 10 ) :
அச்சு ( fibNo ( நான் ) , முடிவு = '''' )
அச்சு ( )

வெளியீடு:

13,00000000000002 21,00000000000004 34,0000000000001

பைத்தானில் ஃபார்-லூப் குறியிடப்பட்ட விதத்தைக் கவனியுங்கள். முதல் குறியீடானது 7. அடுத்த குறியீட்டு எண் 8, மற்றும் கடைசி குறியீடு 9. 10 வரம்பு வாதத்தில் 9 + 1. 10 இன் நிலையில் உள்ள மதிப்பு கடைசி பூஜ்ஜிய அடிப்படையிலான குறியீட்டைக் கூட்டல் 1 ஆக இருக்க வேண்டும். முதல் வாதம், 7, தொடக்க பூஜ்ஜிய அடிப்படையிலான குறியீடாகும்.

முடிவுரை

ஃபைபோனச்சி எண்கள் முழு எண்களின் ஒரு குறிப்பிட்ட வரிசையாகும் (நேர்மறை முழு எண்கள்). இது 0 உடன் தொடங்குகிறது, அதைத் தொடர்ந்து 1 நிபந்தனையின்றி. மீதமுள்ள எண்கள் உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்ப்பதன் மூலம் உருவாக்கப்படுகின்றன.

முதல் n Fibonacci எண்களைப் பெற, 0 மற்றும் 1 ஐ முதல் இரண்டாக ஏற்கவும், பின்னர் மீதமுள்ளவற்றுக்கு, இது போன்ற ஒரு அறிக்கையுடன் ஃபார்-லூப்பைப் பயன்படுத்தவும்:

arr [ நான் ] = அர்ர் [ நான் - 1 ] + ஏர் [ நான் - இரண்டு ]

இது உடனடியாக முந்தைய இரண்டு எண்களைச் சேர்க்கிறது.

பூஜ்ஜிய அடிப்படையிலான குறியீட்டு n இலிருந்து ஒரு ஃபைபோனச்சி எண்ணைப் பெற, சூத்திரத்தைப் பயன்படுத்தவும்: