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

C++ में 2, 3 और 5 का सबसे बड़ा गुणज ज्ञात कीजिए

इस समस्या में, हमें आकार N का एक सरणी arr[] दिया जाता है जिसमें केवल एकल अंक होते हैं। हमारा काम है 2, 3 और 5 का सबसे बड़ा गुणज खोजना

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : arr[] = {1, 0, 5, 2}
Output : 510

स्पष्टीकरण -

The number 510 is divisible by all 2, 3, 5.

समाधान दृष्टिकोण

समस्या का एक सरल समाधान है बनाई गई संख्या की मूल विभाज्यता की जाँच करना।

इसलिए, यदि संख्या को 2 और 5 से विभाज्य होने की आवश्यकता है अर्थात यह 10 से विभाज्य है। 10 से विभाज्य संख्या बनाने के लिए, सरणी में शून्य होना चाहिए।

यदि इसमें शून्य है, तो हम अंत में शून्य के साथ सबसे बड़ी संभव संख्या बनाएंगे जो 3 से विभाज्य है।

विधि यहाँ दिखाई गई है। C++ में तीन का सबसे बड़ा गुणज

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   string largestMultipleOfThree(vector<int>& digits) { 
      vector<vector<int>> d(3);
      int sum = 0;
      for (int i = 0; i < digits.size(); i++) {
         int x = digits[i];
         d[x % 3].push_back(digits[i]);
         sum += x;
         sum %= 3;
      }
      if (sum) {
         if (!d[sum].size()) {
            int rem = 3 - sum;
            if (d[rem].size() < 2)
            return ""; 
            d[rem].pop_back();
            d[rem].pop_back();
         }
         else {
            d[sum].pop_back();
         }
      }
      string ret = "";
      for (int i = 0; i < 3; i++) {
         for (int j = 0; j < d[i].size(); j++) {
            ret += to_string(d[i][j]);
         }
      }
      sort(ret.begin(), ret.end(), greater<int>());
      if (ret.size() && ret[0] == '0')
      return "0";
      return ret;
   }
};
int main(){ 
   Solution ob;
   vector<int> v = {7, 2, 0, 8};
   sort(v.begin(), v.end(), greater<int>()); 
   if(v[v.size() - 1 ] != 0){
      cout<<"Not Possible!";
   }
   else{
      cout<<"The largest number is "<<(ob.largestMultipleOfThree(v));
   }
}

आउटपुट

The largest number is 870

  1. x का गुणज ज्ञात कीजिए जो C++ में a^b के सबसे निकट है

    मान लीजिए कि हमारे पास तीन पूर्णांक हैं, a, b और x। कार्य x का गुणज प्राप्त करना है, जो ab के सबसे निकट है। तो अगर a =5, b =4 और x =3, तो आउटपुट 624 होगा। 54 =625 के रूप में, और 624 3 का गुणज है, जो 625 के सबसे करीब है। कार्य सरल है। इस समस्या को हल करने के लिए हमें इन चरणों का पालन करना होगा - गण

  1. C++ में एक बेलन का परिमाप ज्ञात कीजिए

    मान लीजिए हमारे पास बेलन का व्यास और ऊंचाई है, तो हमें बेलन का परिमाप ज्ञात करना होगा। चूँकि परिमाप द्विविमीय वस्तु की रूपरेखा है, तो हम सीधे एक त्रिविमीय वस्तु का परिमाप ज्ञात नहीं कर सकते। हम बेलन का एक अनुप्रस्थ काट बना सकते हैं, और इसे आयत के रूप में परिवर्तित कर सकते हैं, फिर परिमाप ज्ञात करें।

  1. दूसरी संख्या ज्ञात कीजिए जब C++ में LCM और HCF दिए गए हों

    मान लीजिए कि हमारे पास एक संख्या ए है, और एलसीएम और जीसीडी मान हैं, हमें एक और संख्या बी ढूंढनी है। यदि ए =5, एलसीएम 25 है, एचसीएफ =4 है, तो दूसरी संख्या 4 होगी। हम जानते हैं कि - $$𝐴∗𝐵=𝐿𝐶𝑀∗𝐻𝐶𝐹$$ $$𝐵=\frac{LCM*HCF}{A}$$ उदाहरण #include <iostream> using namespace std; int anotherNumb