किसी संख्या के अंकों को उलटने का प्रोग्राम अंकों की स्थिति को बदल देगा और उसके क्रम को उलट देगा।
मान लीजिए कि एक संख्या abcde है जिसका उल्टा edcba होगा।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
n = 786521
आउटपुट
125687
संख्या के अंकों को उलटने के लिए, हम एमएसबी (इकाई अंक) से संख्या के प्रत्येक अंक को लेंगे और इसे रिवर्स नंबर वेरिएबल में जोड़ देंगे, इसके बाद मूल संख्या को 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