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

C++ में एक रेंज में नॉन ट्रांजिटिव कोप्राइम ट्रिपलेट ढूँढना

मान लीजिए कि हमारे पास निचली और ऊपरी सीमा है, और हमें असंक्रमणीय त्रिक (x, y, z) खोजना है, जैसे कि युग्म (x, y) सहअभाज्य हैं (GCD 1 है), युग्म (y, z) सहअभाज्य हैं , लेकिन युग्म (x, z) सहअभाज्य युग्म नहीं है। उदाहरण के लिए, यदि निचली सीमा 2 है, और ऊपरी सीमा 10 है, तो तत्व {2, 3, 4, 5, 6, 7, 8, 9, 10} हैं, यहां संभावित त्रिक है (4, 7, 8) ), यहां (4, 7), और (7, 8) सहअभाज्य हैं, लेकिन (4, 8) सहअभाज्य युग्म नहीं हैं।

हम इसे हल करने के लिए भोले दृष्टिकोण का पालन करेंगे। हम निचली बाउंड और अपर बाउंड की सीमा में सभी संभावित ट्रिपल जेनरेट करेंगे, फिर मानदंड से मेल खाएंगे।

उदाहरण

#include <iostream>
#include <algorithm>
using namespace std;
bool isCoprime(int a, int b){
   return (__gcd(a, b) == 1);
}
void tripletInRange(int left, int right) {
   bool flag = false;
   int A, B, C;
   // Generate and check for all possible triplets
   // between L and R
   for (int a = left; a <= right; a++) {
      for (int b = a + 1; b <= right; b++) {
         for (int c = b + 1; c <= right; c++) {
            if (isCoprime(a, b) && isCoprime(b, c) && ! isCoprime(a, c)) {
               flag = true;
               A = a;
               B = b;
               C = c;
               break;
            }
         }
      }
   }
   if (flag == true) {
      cout << "(" << A << ", " << B << ", " << C << ")" << " is one
      such possible triplet between " << left << " and " << right << endl;
   } else {
      cout << "No Such Triplet exists between " << left << " and " << right << endl;
   }
}
int main() {
   int left = 2, right = 10;
   tripletInRange(left, right);
}

आउटपुट

(8, 9, 10) is one such possible triplet between 2 and 10

  1. सी ++ में सरणी में अधिकतम ट्रिपल योग

    इस समस्या में, हमें एक array दिया जाता है। हमारा काम एक ऐसा प्रोग्राम बनाना है जो एरे में अधिकतम ट्रिपल योग प्राप्त करे यानी तीन तत्वों का सेट खोजें जिसका योग अधिकतम हो। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट - सरणी ={4, 6, 1, 2} आउटपुट -12 स्पष्टीकरण - all triplets are : (4, 6, 1) = 4

  1. C++ में प्राइम ट्रिपलेट

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम N से कम के सभी प्राइम ट्रिपल को प्रिंट करना है। प्राइम ट्रिपल तीन अभाज्य संख्याओं का समुच्चय है। जो (p, p+2, p+6) या (p, p+4, p+6) के रूप में हैं। सभी अभाज्य संख्याओं को उपरोक्त त्रिगुणों के अनुसार समूहीकृत किया जाता है क्योंकि प्रत्यक्ष पैटर्न

  1. C++ में एक सीमा में सेट बिट्स को कॉपी करें

    इस ट्यूटोरियल में, हम दिए गए रेंज में एक नंबर के सेट बिट्स को दूसरे नंबर पर कॉपी करने के प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें दो पूर्णांक दिए जाएंगे। हमारा काम बिट्स को पहली संख्या में देखना है और उन बिट्स को दूसरी संख्या में भी सेट करना है यदि वे दी गई सीमा में हैं। अंत में उत्पादित अंक लौटा र