इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो सिंगल स्वैप के साथ सबसे बड़ी संख्या ढूंढता है।
आइए समस्या को हल करने के लिए चरणों को देखें।
- संख्या n प्रारंभ करें।
- पूर्णांक को स्ट्रिंग में बदलें।
- एक लूप लिखें जो स्ट्रिंग के अंत से पुनरावृत्त हो।
- अधिकतम अंक और अनुक्रमणिका खोजें।
- यदि वर्तमान अंक अधिकतम अंक से कम है, तो प्रारंभ अनुक्रमणिका को वर्तमान अनुक्रमणिका और अंत अनुक्रमणिका को अधिकतम अंक अनुक्रमणिका के साथ अद्यतन करें।
- यदि प्रारंभ सूचकांक -1 है, तो n लौटाएं।
- अन्यथा प्रारंभ और अंत अनुक्रमणिका में अंकों की अदला-बदली करें।
- रूपांतरित करके पूर्णांक लौटाएं।
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h> using namespace std; int getLargestNumber(int n) { int maxDigit = -1; int maxDigitIndex = -1; int startIndex = -1; int endIndex = -1; string nInStr = to_string(n); for (int i = nInStr.size() - 1; i >= 0; i--) { if (nInStr[i] > maxDigit) { maxDigit = nInStr[i]; maxDigitIndex = i; continue; } if (nInStr[i] < maxDigit) { startIndex = i; endIndex = maxDigitIndex; } } if (startIndex == -1) { return n; } swap(nInStr[startIndex], nInStr[endIndex]); return stoi(nInStr); } int main() { int n = 678; cout << getLargestNumber(n) << endl; return 0; }
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
876
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।