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

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


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

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

इनपुट : arr[] = {1, 0, 5, 2} आउटपुट : 510

व्याख्या −

संख्या 510 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<<"संभव नहीं!"; } else{     cout<<"सबसे बड़ी संख्या है "<<(ob.largestMultipleOfThree(v)); } }

आउटपुट

सबसे बड़ी संख्या है 870 

  1. - x का वह गुणक खोजें जो a^b के निकटतम हो C++ में

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

  1. - C++ प्रोग्राम: सिलेंडर का परिमाप ज्ञात करना

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

  1. - C++ में LCM और HCF दिए जाने पर दूसरी संख्या ढूंढना

    मान लीजिए हमारे पास एक संख्या A है, और LCM और GCD मान हैं, हमें दूसरी संख्या B ढूंढनी है। यदि A = 5, LCM 25 है, HCF = 4, तो दूसरी संख्या 4 होगी। हम जानते हैं कि -$$A * B = LCM * HCF$$$$B = \frac{LCM * HCF}{A}$$उदाहरण#include <iostream> using namespace std; int anotherNumber(int A, int LCM, int