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

C++ में संख्या का पुनर्व्यवस्थापन जो उससे विभाज्य भी हो


हमें एक पूर्णांक प्रकार की संख्या दी गई है, मान लीजिए, number। कार्य है संख्या के अंकों को इस तरह पुनर्व्यवस्थित करना कि पुनर्व्यवस्थापन के बाद बनी संख्या भी दी गई संख्या यानी 'number' से विभाज्य हो।

विभिन्न इनपुट-आउटपुट परिदृश्य

इनपुट - int number = 100035

आउटपुट - इसके द्वारा विभाज्य संख्या का पुनर्व्यवस्थापन है: 300105

व्याख्या - हमें एक पूर्णांक संख्या 'number' यानी 100035 दी गई है। अब, कार्य है इन दिए गए अंकों को इस तरह पुनर्व्यवस्थित करना कि बनी संख्या 100035 से विभाज्य हो। तो, अंकों को पुनर्व्यवस्थित करने के बाद हमें 300105 मिला जो संख्या 100035 से विभाज्य है।

इनपुट - int number = 1000035

आउटपुट - इसके द्वारा विभाज्य संख्या का पुनर्व्यवस्थापन है: 3000105

व्याख्या - हमें एक पूर्णांक संख्या 'number' यानी 1000035 दी गई है। अब, कार्य है इन दिए गए अंकों को इस तरह पुनर्व्यवस्थित करना कि बनी संख्या 1000035 से विभाज्य हो। तो, अंकों को पुनर्व्यवस्थित करने के बाद हमें 3000105 मिला जो संख्या 1000035 से विभाज्य है।

इनपुट - int number = 28

आउटपुट - इसके द्वारा विभाज्य संख्या का पुनर्व्यवस्थापन है: -1

व्याख्या - हमें एक पूर्णांक संख्या 'number' यानी 28 दी गई है। अब, कार्य है इन दिए गए अंकों को इस तरह पुनर्व्यवस्थित करना कि बनी संख्या 28 से विभाज्य हो। तो अंकों को पुनर्व्यवस्थित करने के बाद हमें 82 मिला जो संख्या 28 से विभाज्य नहीं है इसलिए आउटपुट -1 है।

उपयोग किया गया दृष्टिकोण

  • एक पूर्णांक प्रकार का चर इनपुट करें, मान लीजिए, number और डेटा को फ़ंक्शन Rearrangement(number) में पास करें।

  • फ़ंक्शन Rearrangement(number) के अंदर

    • एक वेक्टर प्रकार का चर बनाएं जो पूर्णांक प्रकार के चर संग्रहीत कर रहा है, मान लीजिए, vec(10, 0)।

    • फ़ंक्शन total_count(number, vec) को कॉल करें और number और vec को पैरामीटर के रूप में फ़ंक्शन में पास करें।

    • i को 2 से 10 से कम होने तक FOR लूप शुरू करें। लूप के अंदर, temp को number * i सेट करें।

    • एक वेक्टर प्रकार का चर बनाएं जो पूर्णांक प्रकार के चर संग्रहीत कर रहा है, मान लीजिए, vec_2(10, 0)।

    • फ़ंक्शन total_count(number, vec_2) को कॉल करें और number और vec_2 को पैरामीटर के रूप में फ़ंक्शन में पास करें।

    • जांचें यदि equal(vec.begin(), vec.end(), vec_2.begin()) तो temp लौटाएं। अन्यथा, -1 लौटाएं।

  • फ़ंक्शन total_count(int number, vector<int> &vec_3) के अंदर

    • WHILE लूप शुरू करें जब number 1 है। लूप के अंदर, vec_3 को vec_3[number % 10]++ और number को number / 10 सेट करें।

उदाहरण

#include<bits/stdc++.h> using namespace std; void total_count(int number, vector<int> &vec_3){    while(number){       vec_3[number % 10]++;       number = number / 10;    } } int Rearrangement(int number){    vector<int> vec(10, 0);    total_count(number, vec);    for(int i = 2; i < 10; i++){       int temp = number * i;       vector<int> vec_2(10, 0);       total_count(temp, vec_2);       if(equal(vec.begin(), vec.end(), vec_2.begin())){          return temp;       }    }    return -1; } int main(){    int number = 100035;    cout<<"Rearrangement of a number which is also divisible by it is: "<<Rearrangement(number);    return 0; }

आउटपुट

उपरोक्त कोड चलाने पर निम्नलिखित आउटपुट उत्पन्न होगा:

Rearrangement of a number which is also divisible by it is: 300105

  1. - C++ में जांचें कि संख्या 23 से विभाज्य है या नहीं

    यहां हम एक प्रोग्राम देखेंगे, जो जांच सकता है कि कोई संख्या 23 से विभाज्य है या नहीं। मान लीजिए संख्या 1191216 दी गई है। यह 23 से विभाज्य है।विभाज्यता जांचने के लिए, हमें इस नियम का पालन करना होगा -हर बार संख्या/काटी गई संख्या का अंतिम अंक निकालेंपिछली गणना की गई संख्या के अंतिम अंक का 7 गुना काटी ग

  1. - C++ में जांचें कि क्या बड़ी संख्या 20 से विभाज्य है

    यहां हम देखेंगे कि कैसे जांचें कि कोई संख्या 20 से विभाज्य है या नहीं। इस मामले में संख्या बहुत बड़ी है। इसलिए हम संख्या को स्ट्रिंग के रूप में रखते हैं। एक संख्या 20 से विभाज्य होगी, जब वह 10 से विभाज्य हो, और 10 से विभाजित करने के बाद, शेष संख्या 2 से विभाज्य हो। तो मामला सरल है। यदि अंतिम अंक 0

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size