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

C++ में दिए गए सूचकांकों के साथ N फाइबोनैचि संख्याओं की GCD ज्ञात कीजिए

यहाँ हमें दिए गए सूचकांकों के साथ n फाइबोनैचि पदों की GCD ज्ञात करनी है। तो सबसे पहले हमें अधिकतम सूचकांक प्राप्त करना होगा, और फाइबोनैचि शब्द उत्पन्न करना होगा, कुछ फाइबोनैचि शब्द इस प्रकार हैं:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ….. सूचकांक शुरू होता है 0 से। तो तत्व 0 th . पर सूचकांक 0 है। यदि हमें सूचकांक {2, 3, 4, 5} पर फाइबोनैचि शब्दों का जीसीडी खोजना है, तो शब्द {1, 2, 3, 4} हैं, इसलिए इन संख्याओं की जीसीडी 1 है।

हम इस कार्य को करने के लिए एक दिलचस्प दृष्टिकोण का उपयोग करेंगे। GCD(Fibo(i), Fibo(j)) जैसे ith और jth फाइबोनैचि शब्द का GCD प्राप्त करने के लिए, हम इसे Fibo(GCD(i, j)) की तरह व्यक्त कर सकते हैं

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
int getFiboTerm(int n){
   int fibo[n + 2];
   fibo[0] = 0; fibo[1] = 1;
   for(int i = 2; i<= n; i++){
      fibo[i] = fibo[i - 1] + fibo[i - 2];
   }
   return fibo[n];
}
int getNFiboGCD(int arr[], int n){
   int gcd = 0;
   for(int i = 0; i < n; i++){
      gcd = __gcd(gcd, arr[i]);
   }
   return getFiboTerm(gcd);
}
int main() {
   int indices[] = {3, 6, 9};
   int n = sizeof(indices)/sizeof(indices[0]);
   cout << "GCD of fibo terms using indices: " <<
   getNFiboGCD(indices, n);
}

आउटपुट

GCD of fibo terms using indices: 2

  1. सी++ में एक सरणी में अधिकतम जीसीडी के साथ जोड़ी खोजें

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी है। हमारा काम सरणी से पूर्णांकों की जोड़ी को खोजना है, जहां GCD मान अधिकतम है। मान लीजिए A ={1, 2, 3, 4, 5}, तो आउटपुट 2 है। जोड़ी (2, 4) में GCD 2 है, अन्य GCD मान 2 से कम हैं। इस समस्या को हल करने के लिए, हम प्रत्येक तत्व के भाजक की गिनती को

  1. C++ में दिए गए सरणी के तत्वों के भाज्य का GCD ज्ञात कीजिए

    मान लीजिए कि हमारे पास एन तत्वों के साथ एक सरणी ए है। हमें सरणी के सभी तत्वों के भाज्य का GCD ज्ञात करना है। मान लीजिए कि तत्व {3, 4, 8, 6} हैं, तो भाज्य का GCD 6 है। यहाँ हम ट्रिक देखेंगे। चूँकि दो संख्याओं का GCD वह सबसे बड़ी संख्या है, जो दोनों संख्याओं को विभाजित करती है, तो दो संख्याओं के भाज्य

  1. सी++ प्रोग्राम एन नंबरों के जीसीडी और एलसीएम को खोजने के लिए

    यह n संख्याओं का GCD और LCM ज्ञात करने का कोड है। GCD या दो या अधिक पूर्णांकों का सबसे बड़ा सामान्य भाजक, जो सभी शून्य नहीं हैं, सबसे बड़ा धनात्मक पूर्णांक है जो प्रत्येक पूर्णांक को विभाजित करता है। जीसीडी को ग्रेटेस्ट कॉमन फैक्टर के रूप में भी जाना जाता है। दो संख्याओं का लघुत्तम समापवर्तक (LCM)