हमें प्रारंभ और अंत संख्या वाली श्रेणी दी गई है और कार्य ओ (लॉग एन) समय और ओ (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