संख्या के अंकों को उलटने का एक प्रोग्राम अंकों की स्थिति को बदल देगा और उनके क्रम को उलट देगा।
मान लीजिए एक संख्या abcde है तो उलटा edcba होगा।
आइए एक उदाहरण से समस्या को समझते हैं,
इनपुट
n = 786521
आउटपुट
125687
संख्या के अंकों को उलटने के लिए, हम संख्या के प्रत्येक अंक को LSB (इकाई अंक) से लेंगे और इसे रिवर्स नंबर वेरिएबल में जोड़ देंगे, इसके बाद मूल संख्या को 10 से विभाजित करेंगे और रिवर्स_नंबर को 10 से गुणा करेंगे। यह तब तक किया जाएगा जब तक संख्या 0 नहीं हो जाती।
इस दोहराव वाली प्रक्रिया को दो विधियों, पुनरावृत्ति और रिकर्सन द्वारा पूरा किया जा सकता है, हम दोनों विधियों को दर्शाने वाला प्रोग्राम बनाएंगे।
उदाहरण
विधि 1: पुनरावृत्तिक दृष्टिकोण
#include <iostream>
using namespace std;
int reversDigitsIt(int n) {
int reverseNumber = 0;
while (n > 0) {
reverseNumber = reverseNumber * 10 + n % 10;
n /= 10;
}
return reverseNumber;
}
int main() {
int n = 4562;
cout << "The number is: " << n << endl;
cout << "Reverse of number is " << reversDigitsIt(n);
return 0;
}
आउटपुट
The number is: 4562 Reverse of number is 2654
उदाहरण
विधि 2: रिकर्सिव दृष्टिकोण
#include <iostream>
using namespace std;
int reverseNumber = 0;
int numPos = 1;
void reversDigitsRec(int n) {
if (n > 0) {
reversDigitsRec(n/10);
reverseNumber += (n%10) * numPos;
numPos *= 10;
}
}
int main() {
int n = 4562;
cout << "The number is: " << n << endl;
reversDigitsRec(n);
cout << "Reverse of number is " << reverseNumber;
return 0;
}
आउटपुट
The number is: 4562 Reverse of number is 2654