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

ओ (लॉग एन) समय में दी गई सीमा में फाइबोनैचि संख्याओं की गणना करें और सी ++ में ओ (1) स्थान की गणना करें

हमें प्रारंभ और अंत संख्या वाली श्रेणी दी गई है और कार्य ओ (लॉग एन) समय और ओ (1) स्थान में दी गई सीमा के बीच उपलब्ध फाइबोनैचि संख्याओं की कुल गणना की गणना करना है।

फाइबोनैचि संख्याएं क्या हैं

फाइबोनैचि संख्याएं संख्याओं का वह क्रम है जिसे फाइबोनैचि अनुक्रम के रूप में जाना जाता है जहां प्रत्येक नई संख्या पिछली दो पिछली संख्याओं का योग होती है।

जहां, f(0) =0 और f(1) =1 यानी f(0) और f(1) के अनुक्रम में निश्चित स्थान हैं और गणना तीसरे नंबर से शुरू होगी।

अनुक्रम की गणना के लिए प्रयुक्त सूत्र है −

एफ<उप>एन =एफ<उप>एन-1 + एफ<उप>एन-2

कहां,

एफ<उप>0 =0, एफ<उप>1 =<उप>एल

उदाहरण के लिए

Input − start = 6 and last = 100
Output − Number of fibonacci Numbers in the series are 6
. है

स्पष्टीकरण - 6 और 100 के बीच की फाइबोनैचि संख्याएं 8, 13, 21, 34, 55, 89 हैं यानी कुल संख्या 6

है।
Input − start = 0 and last = 8
Output − Number of fibonacci Numbers in the series are 7

स्पष्टीकरण - 0 और 8 के बीच की फाइबोनैचि संख्याएं 0, 1, 1, 2, 3, 5, 8 हैं यानी कुल संख्या 7 है

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • एक श्रेणी बनाने के लिए प्रारंभ और समाप्ति संख्या इनपुट करें

  • fib1 से 0, fib2 से 1, fib3 से 1 तक घोषित और आरंभ करें

  • एक अस्थायी चर res घोषित करें और इसे 0 से प्रारंभ करें

  • लूप प्रारंभ करें, जबकि fib1 अंत से कम या बराबर है

  • लूप के अंदर, जांचें कि क्या fib1 शुरुआत से बड़ा या बराबर है, फिर रेस को 1 से बढ़ा दें

  • फ़ाइब1 को फ़ाइब2, फ़ाइब2 को फ़ाइब3 और फ़ाइब3 को फ़ाइब1 + फ़ाइब2 पर सेट करें

  • रिटर्न रेस

  • परिणाम प्रिंट करें

उदाहरण

#include <bits/stdc++.h>
using namespace std;
// function to count fibonacci numbers in range
// from start to last
int count_fibonacci(int start, int last){
   // First three Fibonacci Numbers
   int fib1 = 0, fib2 = 1, fib3 = 1;
   // res to count the number of fibonacci
   int res = 0;
   while (fib1 <= last){
      if (fib1 >= start){
         res++;
      }
      fib1 = fib2;
      fib2 = fib3;
      fib3 = fib1 + fib2;
   }
   return res;
}
// main function
int main(){
   int start = 6, last = 100;
   cout << "Number of fibonacci Numbers in the series are "
   << count_fibonacci(start, last);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Number of fibonacci Numbers in the series are 6

  1. एक श्रेणी में संख्याओं की संख्या जो m से विभाज्य है और अंक d C++ में सम स्थिति में है

    हमें एक पूर्णांक श्रेणी के साथ दिया जाता है, एक चर m जो भाजक के रूप में उपयोग किया जाता है और एक चर d जिसका उपयोग यह जांचने के लिए किया जाता है कि अंक d सम स्थिति में है या नहीं और कार्य उन संख्याओं की गणना करना है श्रेणी जो चर m से विभाज्य हैं और जिनका अंक d सम स्थिति में है। उदाहरण के लिए इनपुट -

  1. श्रेणी में संख्याओं की गणना करें जैसे कि इसमें अंक और क्यू के साथ इसका उत्पाद सी ++ में असमान हैं

    दिए गए दो नंबर रेंज वेरिएबल के रूप में शुरू और समाप्त होते हैं और इनपुट के रूप में एक पूर्णांक q। लक्ष्य एक सीमा के भीतर संख्याओं को इस तरह खोजना है कि संख्या और q के साथ उसके उत्पाद में कोई सामान्य अंक न हो। यदि संख्या 5 है और q 3 है तो गुणनफल 15 होगा। 5 और 15 दोनों का एक सामान्य अंक 5 है। यदि सं