इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो अंकों के एकल स्वैप के साथ सबसे बड़ी संभव सम संख्या ढूंढता है।
आइए समस्या को हल करने के लिए चरणों को देखें।
- संख्या को स्ट्रिंग प्रारूप में प्रारंभ करें।
- दिए गए नंबर पर पुनरावृति करें।
- वह सम अंक ज्ञात कीजिए जो संख्या के अंतिम अंक से कम या उसके बराबर हो।
- यदि आपको वांछित सम अंक मिल जाए तो लूप तोड़ दें।
- यदि सम अंक मौजूद नहीं है, तो दी गई संख्या लौटा दें।
- उपरोक्त चरण में मिले सम अंक के साथ अंतिम अंक की अदला-बदली करें।
- नंबर वापस करें
उदाहरण
#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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।