इस ट्यूटोरियल में, हम एक ऐसा प्रोग्राम लिखेंगे जो अंकों की एक ही अदला-बदली से सबसे बड़ी संभावित सम संख्या ढूंढता है।
आइए इस समस्या को हल करने के चरण देखते हैं।
- संख्या को स्ट्रिंग फॉर्मेट में इनिशियलाइज़ करें।
- दी गई संख्या पर पुनरावृति करें।
- वह सम अंक ढूंढें जो संख्या के अंतिम अंक से कम या बराबर हो।
- यदि वांछित सम अंक मिल जाए तो लूप तोड़ें।
- यदि सम अंक मौजूद नहीं है, तो दी गई संख्या वापस करें।
- उपरोक्त चरण में मिले सम अंक के साथ अंतिम अंक की अदला-बदली करें।
- संख्या वापस करें।
उदाहरण
#include <bits/stdc++.h> using namespace std; string getLargestEvenNumber(string number, int n) { int even = INT_MAX, index; for (int i = 0; i < n - 1; i++) { if ((number[i] - '0') % 2 == 0) { even = (number[i] - '0'); index = i; } if (even <= (number[n - 1] - '0')) { break; } } if (even == INT_MAX) { return number; } swap(number[index], number[n - 1]); return number; } int main() { string number = "15433"; cout << getLargestEvenNumber(number, 5) << endl; return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
15334
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में लिखें।