जावास्क्रिप्ट के साथ फाइबोनैचि संख्याएं

Javaskripta Ke Satha Pha Ibonaici Sankhya Em



'जावास्क्रिप्ट अब ईसीएमएस्क्रिप्ट है। जावास्क्रिप्ट का विकास ईसीएमएस्क्रिप्ट के रूप में जारी है। आरक्षित शब्द 'जावास्क्रिप्ट' अभी भी केवल पिछड़े संगतता के लिए उपयोग किया जाता है।'

फाइबोनैचि संख्याओं का अर्थ

फाइबोनैचि संख्या 0 से शुरू होने वाले धनात्मक पूर्णांकों का एक विशेष क्रम है। पूर्ण संख्याएँ धनात्मक पूर्णांक होती हैं। तो, एक फाइबोनैचि संख्या 0 से शुरू होने वाली पूर्ण संख्याओं या प्राकृतिक संख्याओं का एक विशेष अनुक्रम है। इस क्रम में, पहली दो संख्याएं 0 और 1 हैं, उसी क्रम में। शेष संख्याएँ पिछली दो संख्याओं को जोड़कर वहाँ से विकसित की जाती हैं। पहले बारह फाइबोनैचि संख्याएँ निम्नानुसार प्राप्त की जाती हैं:

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







दूसरे शब्दों में, पहले बारह फाइबोनैचि संख्याएँ हैं:



0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89



बेशक, तेरहवीं संख्या होगी: 144 = 55 + 89। फाइबोनैचि संख्याओं को एक सरणी में होने की कल्पना की जा सकती है, जैसे:





0 1 1 दो 3 5 8 13 इक्कीस 3. 4 55 89

एक सरणी में अनुक्रमणिका होती है। निम्न तालिका में, दूसरी पंक्ति एक सरणी में फाइबोनैचि संख्याओं के लिए संबंधित शून्य-आधारित अनुक्रमणिका दिखाती है:

0 1 1 दो 3 5 8 13 इक्कीस 3. 4 55 89
0 1 दो 3 4 5 6 7 8 9 10 ग्यारह

शून्य-आधारित अनुक्रमणिका के साथ, यदि बारह तत्व हैं, तो अंतिम अनुक्रमणिका 11 है।



फाइबोनैचि संख्याएं O(n) समय या O(1) समय में उत्पन्न की जा सकती हैं। इन समय जटिलता अभिव्यक्तियों में, n का अर्थ है n मुख्य संचालन, और 1 का अर्थ है 1 मुख्य संचालन। O(n) के साथ, n फाइबोनैचि संख्याएँ उत्पन्न होती हैं, जो 0 से शुरू होती हैं। O(1) के साथ, संबंधित सूचकांक से एक फाइबोनैचि संख्या उत्पन्न होती है। यही कारण है कि ओ (1) एन मुख्य संचालन के बजाय सिर्फ एक मुख्य ऑपरेशन लेता है।

इस लेख का उद्देश्य यह समझाना है कि फाइबोनैचि संख्याओं को कैसे उत्पन्न किया जाए, किसी भी तरह से, जावास्क्रिप्ट का उपयोग करके, जो वास्तव में आज ईसीएमएस्क्रिप्ट है।

कोडिंग पर्यावरण

नोड.जेएस वातावरण का उपयोग नहीं किया जाएगा जैसा कि पाठक ने अनुमान लगाया होगा। इसके बजाय, ब्राउज़र का उपयोग कोड की व्याख्या और परिणाम प्रदर्शित करने के लिए किया जाएगा। स्क्रिप्ट (कोड) को टेक्स्ट एडिटर फ़ाइल में लिखा जाना चाहिए, जिसे एक्सटेंशन '.html' के साथ सहेजा जाना चाहिए। स्क्रिप्ट में न्यूनतम कोड होना चाहिए:

डॉक्टरेट एचटीएमएल >
< एचटीएमएल >
< सिर >
< शीर्षक > जावास्क्रिप्ट के साथ फाइबोनैचि संख्याएं शीर्षक >
सिर >
< तन >
< स्क्रिप्ट प्रकार = 'पाठ / एक्मास्क्रिप्ट' >

लिखी हुई कहानी >
तन >
एचटीएमएल >

यह एक अनुमानित न्यूनतम कोड है जिसकी एक वेब पेज को आवश्यकता होती है। इस लेख के लिए सभी कोडिंग टैग, के बीच में हैं।

लिखे गए (जोड़े गए) कोड को चलाने के लिए, बस फ़ाइल नाम के आइकन पर डबल-क्लिक करें, और कंप्यूटर का ब्राउज़र इसे खोल देगा।

एक फाइबोनैचि संख्या की परिभाषा

फाइबोनैचि संख्या के लिए एक गणितीय परिभाषा है। इसे इस प्रकार परिभाषित किया गया है:

जहाँ Fn एक शून्य-आधारित सूचकांक के अनुरूप एक फाइबोनैचि संख्या है, n।

पहले दो नंबर: 0 और 1, उसी क्रम में पूर्व-घोषित हैं। इस फ़ंक्शन की अंतिम पंक्ति दर्शाती है कि शेष संख्याएँ अपने क्रम में पहले दो संख्याओं से कैसे निकलती हैं।

यह परिभाषा भी फाइबोनैचि संख्या के सूत्रों में से एक है।

O(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 फाइबोनैचि पूर्णांक (संख्या) उत्पन्न करने के लिए ECMAscript फ़ंक्शन है:

< स्क्रिप्ट प्रकार = 'पाठ / एक्मास्क्रिप्ट' >
समारोह फिबोनैकी ( ) {
एन = ए। लंबाई ;
यदि ( एन > 0 )
[ 0 ] = 0 ;
यदि ( एन > 1 )
[ 1 ] = 1 ;
के लिये ( मैं = दो ; मैं < एन ; मैं ++ ) { //n=0 और n=2 पर विचार किया गया है
कर्नो = [ मैं - 1 ] + [ मैं - दो ] ;
[ मैं ] = कर्नो ;
}
}

समापन स्क्रिप्ट टैग नहीं दिखाया गया है। फ़ंक्शन एक सरणी प्राप्त करता है। पहले दो फाइबोनैचि संख्याएं उनके स्थान पर नियत की जाती हैं। फॉर-लूप शून्य-आधारित इंडेक्स, 2 से n के ठीक नीचे पुनरावृत्त होता है। फॉर-लूप में सबसे महत्वपूर्ण कथन है:

currNo = A[i – 1] + A[i – 2];

यह वर्तमान संख्या रखने के लिए सरणी में तत्काल पिछले दो नंबर जोड़ता है। जब तक फाइबोनैचि () फ़ंक्शन निष्पादित करना समाप्त करता है, तब तक सरणी के सभी तत्व पहले n फाइबोनैचि संख्याएं होते हैं। फाइबोनैचि () फ़ंक्शन को कॉल करने और फाइबोनैचि संख्याओं को प्रदर्शित करने के लिए एक उपयुक्त कोड है:

एन = 12 ;
आगमन = नया सरणी ( एन ) ;
फिबोनैकी ( आगमन ) ;
के लिये ( मैं = 0 ; मैं < एन ; मैं ++ )
दस्तावेज़। लिखना ( आगमन [ मैं ] + '' ) ;
दस्तावेज़। लिखना ( '
'
) ;
लिखी हुई कहानी >

यह कोड क्लोजिंग स्क्रिप्ट टैग दिखाता है। कोड उपरोक्त कोड के नीचे टाइप किया गया है। वेब पेज पर प्रदर्शित आउटपुट है:

0 1 1 2 3 5 8 13 21 34 55 89

जैसा सोचा था।

O(1) Time . में एक फाइबोनैचि संख्या का निर्माण

ओ (1) निरंतर समय है। यह एक मुख्य ऑपरेशन को संदर्भित करता है। फाइबोनैचि संख्या उत्पन्न करने का एक अन्य गणितीय सूत्र है:

ध्यान दें कि समीकरण के दायीं ओर, यह 5 का वर्गमूल नहीं है जिसे घात n तक बढ़ाया जाता है; यह कोष्ठकों में व्यंजक है जिसे घात n तक बढ़ा दिया गया है। ऐसे दो भाव हैं।

यदि n 0 है, तो Fibn 0 होगा। यदि n 1 है, तो Fibn 1 होगा। यदि n 2 है, Fibn 1 होगा। यदि n 3 है, Fibn 2 होगा। यदि n 4 है, तो Fibn 3 होगा - और इसी तरह। पाठक n के लिए अलग-अलग मानों को प्रतिस्थापित करके और मूल्यांकन करके इस सूत्र को गणितीय रूप से सत्यापित कर सकता है। n इस सूत्र में एक शून्य-आधारित सूचकांक है। परिणाम संबंधित फाइबोनैचि संख्या है।

इस सूत्र के लिए ईसीएमएस्क्रिप्ट (जावास्क्रिप्ट) कोड है:

< स्क्रिप्ट प्रकार = 'पाठ / एक्मास्क्रिप्ट' >
समारोह फाइबनो ( एन ) {
एफआईबीएन = ( गणित . पॉव ( ( 1 + गणित . वर्ग ( 5 ) ) / दो , एन ) - गणित . पॉव ( ( 1 - गणित . वर्ग ( 5 ) ) / दो , एन ) ) / गणित . वर्ग ( 5 ) ;
वापसी एफआईबीएन ;
}

समापन स्क्रिप्ट टैग नहीं दिखाया गया है। ध्यान दें कि कैसे शक्ति (पाउ) और वर्गमूल (वर्ग) पूर्वनिर्धारित कार्यों का उपयोग किया गया है। ईसीएमएस्क्रिप्ट (जावास्क्रिप्ट) में, गणित मॉड्यूल को आयात करने की आवश्यकता नहीं है। फ़ंक्शन fibNo () सीधे सूत्र को लागू करता है। वेब पेज पर fibNo () फ़ंक्शन के लिए एक उपयुक्त कॉल और डिस्प्ले हैं:

एन = ग्यारह ;
सही = फाइबनो ( एन ) ;
दस्तावेज़। लिखना ( सही ) ;
लिखी हुई कहानी >

कोड समापन स्क्रिप्ट टैग दिखाता है। आउटपुट है:

89.00000000000003

उत्तर से अनावश्यक दशमलव अंकों को हटाना संभव है। हालाँकि, यह कुछ और समय के लिए चर्चा है।

यदि एक से अधिक फाइबोनैचि संख्या की आवश्यकता है, तो कोड को प्रत्येक शून्य आधारित संगत n अनुक्रमणिका के लिए सूत्र को एक बार कॉल करना होगा।

निष्कर्ष

फाइबोनैचि संख्या 0 से शुरू होने वाले धनात्मक पूर्णांकों का एक विशेष क्रम है। पूर्ण संख्याएँ धनात्मक पूर्णांक होती हैं। तो, एक फाइबोनैचि संख्या 0 से शुरू होने वाली पूर्ण संख्याओं या प्राकृतिक संख्याओं का एक विशेष अनुक्रम है। इस क्रम में, पहली दो संख्याएं 0 और 1 हैं, उसी क्रम में। इन पहले दो नंबरों को इस तरह परिभाषित किया गया है। शेष संख्याएँ वहाँ से तत्काल पिछली दो संख्याओं को जोड़कर विकसित की जाती हैं।

पहले दो फाइबोनैचि संख्याओं का उत्पादन करने के बाद, शेष फाइबोनैचि संख्याओं का उत्पादन करने के लिए, कुल n संख्याओं के साथ समाप्त होने के लिए, एक फॉर-लूप का उपयोग कथन के साथ किया जाना है:

currNo = A[i – 1] + A[i – 2];

यह तत्काल अंतिम दो फाइबोनैचि संख्याओं को वर्तमान फाइबोनैचि संख्या में जोड़ता है।

जब एक शून्य-आधारित सूचकांक दिया जाता है, तो संबंधित फाइबोनैचि संख्या प्राप्त करने के लिए, सूत्र का उपयोग करें: