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

C++ में दिए गए GCD और LCM के साथ कोई भी युग्म ज्ञात कीजिए

इस खंड में हम देखेंगे कि दिए गए GCD और LCM मानों का उपयोग करके जोड़े की संख्या कैसे प्राप्त करें। मान लीजिए कि GCD और LCM मान 2 और 12 हैं। अब संख्याओं के संभावित जोड़े (2, 12), (4, 6), (6, 4) और (12, 2) हैं। तो हमारा प्रोग्राम जोड़ियों की गिनती का पता लगाएगा। वह 4 है।

इस समस्या को हल करने की तकनीक क्या होगी, इसे समझने के लिए आइए एल्गोरिदम देखें।

एल्गोरिदम

countPairs(gcd, lcm):
Begin
   if lcm is nit divisible by gcd, then
      return 0
   temp := lcm/gcd
   c := primeFactorCount(temp)
   res := shift 1 to the left c number of times
   return res
End
primeFactorCount(n):
Begin
   count := 0
   until n is not odd, increase count and divide n by 2
   for i := 3, when i2 < n, increase i by 2, do
      if n is divisible by i, then
         increase count
         while n is divisible by i, do
            n := n / i
         done
      end if
   done
   if n > 2, then
      increase count by 1
   return count
End

उदाहरण

#include<iostream>
#include<cmath>
using namespace std;
int primeFactorCount(int);
int countPairs(int gcd, int lcm) {
   if(lcm % gcd != 0)
      return 0;
   int temp = lcm/gcd;
   return (1 << primeFactorCount(temp));
}
int primeFactorCount(int n){
   int count = 0;
   if(n%2 == 0){ //if n is divisible by 0, enter into the next part
      count++;
      while(n%2 == 0)
      n = n/2;
   }
   //now n is odd, so if we increase n by 2, all numbers will be odd
   for(int i = 3; i*i <= n; i = i + 2){
      if(n%i == 0){ //if n is divisible by 0, enter into the next part
         count++;
         while(n%i == 0)
         n = n/i;
      }
   }
   if(n > 2)
   count++;
   return count;
}
int main() {
   cout << "Possible pairs of GCD = 2, and LCM = 12 is " <<countPairs(2, 12);
}

आउटपुट

Possible pairs of GCD = 2, and LCM = 12 is 4

  1. C++ में संतुलित BST में दिए गए योग के साथ एक युग्म खोजें

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

  1. C++ प्रोग्राम दिए गए पक्षों के साथ किसी भी त्रिभुज के परिवृत्त का क्षेत्रफल ज्ञात करने के लिए?

    किसी भी त्रिभुज के परिवृत्त के क्षेत्रफल की गणना करना। हमें समस्या से संबंधित बुनियादी अवधारणाओं के बारे में जानने की जरूरत है। त्रिकोण - तीन भुजाओं वाली बंद आकृति। मंडली - एक बंद आकृति जिसमें अनंत संख्या या भुजा या कोई भुजा नहीं है। एक वृत्त जो अपने अंदर अन्य आकृति को घेरता है वह एक वृत्ताकार .

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

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