Fibonacci Java एल्गोरिदम के लिए एक गाइड
फाइबोनैचि अनुक्रम एक ऐसा अनुक्रम है जहां अगली संख्या की गणना पिछले दो संख्याओं के योग की गणना करके की जाती है।
इस अनुक्रम का गणित में अपना दावा है। यह प्रकृति में भी प्रकट होता है। उदाहरण के लिए, अधिकांश फूलों में पंखुड़ियाँ होती हैं जो फाइबोनैचि अनुक्रम की तरह व्यवस्थित होती हैं।
इस गाइड में, हम बात करने जा रहे हैं कि Java का उपयोग करके फाइबोनैचि श्रृंखला की संख्याओं की गणना कैसे करें। हम आपको शुरू करने में मदद करने के लिए दो फाइबोनैचि Java एल्गोरिदम के माध्यम से चलेंगे।
फाइबोनैचि अनुक्रम क्या है?
आपने शायद हाई स्कूल गणित में फाइबोनैचि अनुक्रम के बारे में सीखा होगा।
फाइबोनैचि अनुक्रम में पहली संख्याएँ 0 और 1 हैं। बाद की संख्याओं की गणना दो पूर्ववर्ती संख्याओं को एक साथ जोड़कर की जाती है। आइए अनुक्रम की एक लंबी सूची पर नज़र डालें:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
यह अनुक्रम इस बात पर निर्भर करके हमेशा के लिए चल सकता है कि आप कितनी संख्याएँ गणना करना चाहते हैं।
फाइबोनैचि अनुक्रम को दो तरीकों से लागू किया जा सकता है:
- एक पुनरावृत्त फंक्शन का उपयोग करके
- एक पुनरावर्ती एल्गोरिदम का उपयोग करके
हम दोनों दृष्टिकोणों के माध्यम से चलेंगे।
एक पुनरावृत्त Fibonacci Java प्रोग्राम
पुनरावृत्त दृष्टिकोण शुरू करने के लिए सबसे अच्छी जगह है। पुनरावृत्त प्रोग्रामिंग तब होती है जब आप किसी सूची के माध्यम से पुनरावृत्त करने और कार्य करने के लिए लूप का उपयोग करते हैं, जैसे for लूप।
पुनरावृत्त प्रोग्रामिंग आपको दोहराव वाली प्रक्रियाओं को स्वचालित करने की अनुमति देती है। क्योंकि फाइबोनैचि अनुक्रम में अगली संख्या की गणना करने के लिए एक स्पष्ट सूत्र है, हम एल्गोरिदम को लागू करने के लिए पुनरावृत्त दृष्टिकोण का उपयोग कर सकते हैं।
आइए अपने प्रोग्राम के लिए एक क्लास और मेथड घोषित करके शुरू करें। हम तीन वेरिएबल भी परिभाषित करेंगे जिनका उपयोग हम अपने प्रोग्राम के लिए करेंगे।
public class FibonacciSequence {
public static void main(String[] args) {
int number = 5, firstTerm = 0, secondTerm = 1;
}
}
"number" वेरिएबल ट्रैक करता है कि हम कितने पदों की गणना करने जा रहे हैं। "firstTerm" और "secondTerm" क्रमशः अनुक्रम में पहले और दूसरे मानों को संग्रहीत करते हैं। यह बाद में हमारे प्रोग्राम में उस आइटम से ठीक पहले के दो आइटम्स को संग्रहीत करने के लिए बदलेगा जिसकी हमने अभी गणना की है।
अब, आइए एक for लूप लिखें जो अनुक्रम में अगली फाइबोनैचि संख्याओं की गणना करता है:
for (int i = 0; i < number; ++i) {
System.out.println(firstTerm);
int nextNumber = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextNumber;
}
यह लूप पहले firstTerm का मान प्रिंट करता है। पहली पुनरावृत्ति में, यह मान 0 है। अगला, लूप firstTerm और secondTerm को एक साथ जोड़कर अगली संख्या की गणना करता है।
हमारा कोड फिर firstTerm के मान को secondTerm के मान को असाइन करता है। secondTerm हमारी अगली संख्या बन जाती है।
आइए अपना कोड चलाएं और देखें क्या होता है:
0 1 1 2 3
हमारे कोड ने अनुक्रम में पहले पांच मानों की गणना की है।
एक पुनरावर्ती Fibonacci Java प्रोग्राम
फाइबोनैचि अनुक्रम की गणना पुनरावर्ती एल्गोरिदम का उपयोग करके की जा सकती है। यह एक फंक्शन है जो किसी समस्या को हल करने के लिए स्वयं को कॉल करता है। एक पुनरावर्ती एल्गोरिदम का उपयोग किया जा सकता है क्योंकि फाइबोनैचि अनुक्रम में संख्याओं की गणना करने के लिए उपयोग करने के लिए एक सुसंगत सूत्र है।
आइए अपनी क्लास को इनिशियलाइज़ करके शुरू करें:
class FibonacciSequence { }
अगला, हम एक फंक्शन लिखेंगे जो अनुक्रम में अगले मान की गणना करने के लिए पुनरावृत्ति का उपयोग करता है:
static void getNextValue(int number, int firstTerm, int secondTerm) {
if (number > 0) {
System.out.println(firstTerm);
int nextNumber = firstTerm + secondTerm;
firstTerm = secondTerm;
secondTerm = nextNumber;
getNextValue(number - 1, firstTerm, secondTerm);
}
}
यह मेथड अगले मान की गणना करने के लिए firstTerm और secondTerm के मानों को जोड़ता। यह तब होता है जब तक "number" का मान 0 से अधिक है। "number" अनुक्रम में गणना करने के लिए कितनी संख्याएँ बची हैं, इसे ट्रैक करता है।
एक बार अगला मान गणना हो जाने के बाद, फंक्शन getNextValue() को पुनरावर्ती रूप से कॉल किया जाता है। इस बार, "number" का मान एक से कम हो जाता है। ऐसा इसलिए है क्योंकि हर बार फंक्शन चलने पर, एक नई संख्या गणना की जाती है।
आइए एक मुख्य प्रोग्राम लिखें जो हमारे पुनरावर्ती फंक्शन का उपयोग करता है और उन वेरिएबल्स को घोषित करता है जिनका हम उपयोग करने जा रहे हैं:
public static void main(String args[]) {
int number = 5, firstTerm = 0, secondTerm = 1;
getNextValue(number, firstTerm, secondTerm);
}
"number" उन मानों की संख्या को दर्शाता है जिन्हें हम गणना करना चाहते हैं। firstTerm सूची में पहला पद है। secondTerm सूची में दूसरा पद है।
जब हम getNextValue मेथड को कॉल करते हैं, तो हमारी गणना शुरू होती है। आइए फाइबोनैचि संख्याएँ प्रदर्शित करने के लिए अपना कोड चलाएं:
0 1 1 2 3
फाइबोनैचि अनुक्रम में पहले पांच मानों की गणना की गई है!
निष्कर्ष
फाइबोनैचि अनुक्रम गणित, कंप्यूटिंग और प्रकृति में आम है। अनुक्रम में अगली संख्या की गणना दो पूर्ववर्ती संख्याओं को एक साथ जोड़कर की जाती है। अनुक्रम 0 और 1 संख्याओं से शुरू होता है।
इस अनुक्रम की गणना या तो पुनरावृत्त या पुनरावर्ती दृष्टिकोण का उपयोग करके की जा सकती है। अब आप Java में फाइबोनैचि श्रृंखला की गणना करने के लिए तैयार हैं।