खोज…


कंप्यूट एनबी फाइबोनैचि संख्या

Visual Basic.NET, अधिकांश भाषाओं की तरह, पुनरावृत्ति की अनुमति देता है, एक प्रक्रिया जिसके द्वारा एक फ़ंक्शन कुछ शर्तों के तहत कॉल करता है

फाइबोनैचि संख्याओं की गणना करने के लिए Visual Basic .NET में एक बुनियादी कार्य है।

''' <summary>
''' Gets the n'th Fibonacci number
''' </summary>
''' <param name="n">The 1-indexed ordinal number of the Fibonacci sequence that you wish to receive. Precondition: Must be greater than or equal to 1.</param>
''' <returns>The nth Fibonacci number. Throws an exception if a precondition is violated.</returns>
Public Shared Function Fibonacci(ByVal n as Integer) as Integer
    If n<1
        Throw New ArgumentOutOfRangeException("n must be greater than or equal to one.")
    End If
    If (n=1) or (n=2)
        ''Base case. The first two Fibonacci numbers (n=1 and n=2) are both 1, by definition.
        Return 1
    End If
    ''Recursive case.
    ''Get the two previous Fibonacci numbers via recursion, add them together, and return the result.
    Return Fibonacci(n-1) + Fibonacci(n-2)
End Function

यह फ़ंक्शन पहली जाँच द्वारा कार्य करता है यदि फ़ंक्शन को पैरामीटर n 1 या 2 बराबर कहा गया है। परिभाषा के अनुसार, फिबोनाची अनुक्रम में पहले दो मान 1 और 1 हैं, इसलिए इसे निर्धारित करने के लिए कोई और गणना आवश्यक नहीं है। यदि n 2 से अधिक है, तो हम संबद्ध मान को आसानी से नहीं देख सकते हैं, लेकिन हम जानते हैं कि ऐसी कोई भी फाइबोनैचि संख्या पूर्ववर्ती दो संख्याओं के योग के बराबर है, इसलिए हम पुनरावर्तन के माध्यम से अनुरोध करते हैं (हमारे अपने फिबोनाची फ़ंक्शन को कॉल करते हुए)। चूँकि क्रमिक पुनरावर्ती कॉल -1 और -2 के घटाव के माध्यम से छोटी और छोटी संख्याओं के साथ कॉल किए जाते हैं, हम जानते हैं कि अंततः वे संख्याओं तक पहुंच जाएंगे जो 2 से छोटे हैं। एक बार उन स्थितियों (जिन्हें आधार मामले कहा जाता है) पर पहुंच जाते हैं, स्टैक अनइंड्स और हम हमारा अंतिम परिणाम प्राप्त करें।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow