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

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

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

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

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

इनपुट

N = 5

आउटपुट

10

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

समस्या का एक सरल समाधान है फिबोनाची संख्याओं को खोजना और फिर पहले n संख्याओं को प्रिंट करना जो फाइबोनैचि संख्याओं में मौजूद नहीं हैं।

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

एल्गोरिदम

  • तीन चर बनाएं जो वर्तमान तत्व, पिछले तत्व और पिछले तत्व का ट्रैक रखेंगे।

  • जबकि गैर फाइबोनैचि की संख्या ऋणात्मक नहीं है, फाइबोनैचि संख्या के सरल सूत्र का उपयोग करें - Fib(n)=Fib(n-1)+Fib(n-2)।

  • सूत्र n=n+(curr-prev-1) का उपयोग करके गैर फाइबोनैचि संख्याओं की गणना प्राप्त करने के लिए।


  • अब nवीं गैर फाइबोनैचि संख्या प्राप्त करने के लिए पिछली संख्या को n से घटाएं।

उदाहरण

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

#include<iostream>
using namespace std;
int findNthNonFiboNumber(int n){
   int lastLastVal = 1, lastVal = 2, currVal = 3;
   while (n > 0){
      lastLastVal = lastVal;
      lastVal = currVal;
      currVal = lastLastVal + lastVal;
      n = n - (currVal - lastVal - 1);
   }
   n = n + (currVal - lastVal - 1);
   return (lastVal + n);
}
int main(){
   int n = 7;
   cout<<"Nth non fibonacci number is "<<findNthNonFiboNumber(n);
   return 0;
}

आउटपुट

Nth non fibonacci number is 12

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

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम C++ में Nth फाइबोनैचि संख्या के अंतिम दो अंकों को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण हमें Nth फाइबोनैचि संख्या के अंतिम दो अंक (अर्थात दो LSB) खोजने होंगे। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट :एन =120 आउटपुट :81

  1. C++ प्रोग्राम कुशलतापूर्वक किसी संख्या की समता का पता लगाने के लिए

    इस लेख में, हम दी गई संख्या N की समता ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। समता को किसी संख्या के द्विआधारी प्रतिनिधित्व में सेट बिट्स (1 की संख्या) की संख्या के रूप में परिभाषित किया गया है। यदि द्विआधारी प्रतिनिधित्व में 1 की संख्या सम है, तो समता को सम समता कहा जाता है और यदि द्विआधा

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

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