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

C++ में दी गई संख्या का सबसे छोटा क्रमपरिवर्तन ज्ञात कीजिए


इस समस्या में, हमें एक बड़ी संख्या N दी जाती है। हमारा कार्य किसी दी गई संख्या का सबसे छोटा क्रमचय ज्ञात करना है।

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

इनपुट

N = 4529016

आउटपुट

1024569

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

समस्या का एक सरल समाधान लंबे पूर्णांक मान को एस्ट्रिंग में संग्रहीत करना है। फिर हम उस स्ट्रिंग को सॉर्ट करेंगे जो हमारा परिणाम है। लेकिन अगर कोई अग्रणी शून्य हैं, तो हम उन्हें पहले गैर शून्य मान के बाद स्थानांतरित कर देंगे।

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
string smallestNumPer(string s) {
   int len = s.length();
   sort(s.begin(), s.end());
   int i = 0;
   while (s[i] == '0')
      i++;
   swap(s[0], s[i]);
   return s;
}
int main() {
   string s = "4529016";
   cout<<"The number is "<<s<<endl;
   cout<<"The smallest permutation of the number is "<<smallestNumPer(s);
   return 0;
}

आउटपुट

The number is 4529016
The smallest permutation of the number is 1024569

  1. सबसे छोटी संख्या K इस प्रकार ज्ञात कीजिए कि C++ में K% p =0 और q% K =0 हो

    मान लीजिए हमारे पास दो पूर्णांक P और Q हैं। हमें सबसे छोटी संख्या K ज्ञात करनी है, जैसे कि K mod P =0 और Q mod K =0। अन्यथा प्रिंट -1। तो अगर पी और क्यू 2 और 8 हैं, तो के 2 होगा। 2 मोड 2 =0, और 8 मोड 2 =0 के रूप में। K को संभव बनाने के लिए, Q को P से विभाज्य होना चाहिए। इसलिए यदि P mod Q =0 है तो P

  1. सबसे छोटी संख्या n ज्ञात कीजिए कि n XOR n+1 C++ में दिए गए k के बराबर है

    मान लीजिए कि हमारे पास एक सकारात्मक संख्या k है। हमें धनात्मक संख्या n ज्ञात करनी है, ताकि n और n+1 का XOR, k के समान हो। तो अगर k =7 (111), आउटपुट 3 होगा। 3 (011), और 3 + 1 =4 (100), तो 011 XOR 100 =111 (7) दो संभावित मामले हैं। विचार करें n सम है। n =0 का अंतिम बिट। फिर n + 1 =1 का अंतिम बिट। शेष

  1. सी ++ प्रोग्राम किसी दिए गए स्ट्रिंग के क्रमपरिवर्तन की संख्या का पता लगाने के लिए

    हम एक स्ट्रिंग के पात्रों को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि हम कैसे गिन सकते हैं कि किसी दिए गए स्ट्रिंग से कितने क्रमपरिवर्तन बन सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन वर्ण हैं; हम उन्हें 3 में व्यवस्थित कर सकते हैं! =6 अलग-अलग तरीके। तो n वर्णों वा