Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ में वां सम फाइबोनैचि नंबर खोजने का कार्यक्रम

इस समस्या में, हमें एक पूर्णांक मान N दिया जाता है। हमारा कार्य Nth सम फाइबोनैचि संख्या ज्ञात करना है। ।

फाइबोनैचि श्रृंखला दो पिछली संख्याओं को जोड़कर बाद की संख्या उत्पन्न करती है। फाइबोनैचि श्रृंखला दो संख्याओं - F0 और F1 से शुरू होती है। F0 और F1 के प्रारंभिक मान क्रमशः 0, 1 या 1, 1 लिए जा सकते हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : N = 4
Output : 144

समाधान दृष्टिकोण

समस्या का एक सरल समाधान इस तथ्य का उपयोग कर रहा है कि फाइबोनैकी अनुक्रम में हर तीसरी संख्या सम है और सम संख्याओं का अनुक्रम भी पुनरावर्ती सूत्र का अनुसरण करता है।

सम फाइबोनैचि अनुक्रम के लिए पुनरावर्ती सूत्र है -

Ef(n)=4Ef(n-1) + Ef(n-2) जहां Ef(0)=0 और Ef(1)=2

हम जानते हैं कि प्रत्येक तीसरी फाइबोनैचि संख्या सम है, इस प्रकार f(n-3) और f(n-6) दोनों सम हैं। इसलिए, हम f(n) को kवां तत्व मानेंगे और इसे Ef(k) के रूप में निरूपित करेंगे। यदि f(n) Ef(k) है, तो f(n-3) पिछली सम संख्या है, जिसे Ef(k-1) द्वारा दर्शाया गया है और इस प्रकार f(n-6), Ef(k-1) का पिछला है। एफई (के-2) है।

इस प्रकार f(n)=4f(n-3)+f(n-6)

या, Ef(k)=4Ef(k-1) + Ef(k-2).

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include<iostream>
using namespace std;
int findNthEvenFiboNum(int n){
   if (n < 1)
      return n;
   if (n == 1)
      return 2;
   return ((4 * findNthEvenFiboNum(n-1)) + findNthEvenFiboNum(n- 2));
}
int main (){
   int n = 5;
   cout<<n<<"th even fibonacci number is "<<findNthEvenFiboNum(n);
   return 0;
}

आउटपुट

5th even fibonacci number is 610

  1. C++ प्रोग्राम में किसी संख्या के सम गुणनखंडों का योग ज्ञात करना?

    इस प्रोग्राम का उपयोग सभी सम कारकों को खोजने और इन सम कारकों के योग की गणना करने और इसे आउटपुट के रूप में प्रदर्शित करने के लिए किया जाता है। उदाहरण - Input : 30 Even dividers : 2+6+10+30 = 48 Output : 48 इसके लिए हम सभी कारकों का पता लगाएंगे। उनमें से सम ज्ञात कीजिए और योग ज्ञात कीजिए, अन्यथा, ह

  1. C++ प्रोग्राम किसी संख्या के सम गुणनखंडों का योग ज्ञात करने के लिए?

    इस भाग में हम देखेंगे कि कैसे हम किसी संख्या के सभी सम अभाज्य गुणनखंडों का योग कुशल तरीके से प्राप्त कर सकते हैं। एक संख्या है मान लीजिए n =480, हमें इसका पूरा गुणनखंड प्राप्त करना है। 480 के अभाज्य गुणनखंड 2, 2, 2, 2, 2, 3, 5 हैं। सभी सम गुणनखंडों का योग 2+2+2+2+2 =10 है। इस समस्या को हल करने के लि

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

    मान लीजिए कि हमारे पास एक संख्या n है, हमें nवां फाइबोनैचि पद ज्ञात करना है। जैसा कि हम जानते हैं कि फिबोनाची शब्द f(i) =f(i-1) + f(i-2), पहले दो पद 0, 1. हैं। तो, अगर इनपुट 15 की तरह है, तो आउटपुट 610 होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - पहला:=0, दूसरा:=1 2 से n की श्रेणी में i