C++ Program - Reverse digits of a given Integer
In C++, the reverse of a given integer can be found out by using below mentioned methods.
Method 1: Using iteration
The method involves the following steps:
Input: MyNum Step 1: Initialize the RevNum = 0 Step 2: Iterate over MyNum while it is greater than zero. Step 2a: Calculate remainder of MuNum / 10 Step 2b: Update RevNum by RevNum * 10 + remainder Step 2c: Update MyNum by MyNum / 10 Step 3: Return RevNum
Example:
Input: 564 RevNum: 0 Iteration 1: Remainder: 564 % 10 = 4 RevNum: 0 * 10 + 4 = 4 MyNum: 564 / 10 = 56 Iteration 2: Remainder: 56 % 10 = 6 RevNum: 4 * 10 + 6 = 46 MyNum: 56 / 10 = 5 Iteration 3: Remainder: 5 % 10 = 5 RevNum: 46 * 10 + 5 = 465 MyNum: 5 / 10 = 0 return RevNum = 465
The below block of code shows the implementation of above concept:
#include <iostream> using namespace std; static int reverse(int); static int reverse(int MyNum){ int RevNum = 0; int remainder; while(MyNum > 0){ remainder = MyNum % 10; MyNum = MyNum / 10; RevNum = RevNum * 10 + remainder; } return RevNum; } int main() { int x = 1285; int y = 4567; cout<<"Reverse of "<<x<<" is: "<<reverse(x); cout<<"\nReverse of "<<y<<" is: "<<reverse(y); return 0; }
The above code will give the following output:
Reverse of 1285 is: 5821 Reverse of 4567 is: 7654
Method 2: Using Recursion
The above result can also be achieved using recursive function. Consider the example below:
#include <iostream> using namespace std; static int reverse(int); static int reverse(int MyNum) { static int RevNum = 0; static int base = 1; if(MyNum > 0) { reverse(MyNum/10); RevNum += MyNum % 10 * base; base *= 10; } return RevNum; } int main() { int x = 7902; cout<<"Reverse of "<<x<<" is: "<<reverse(x); return 0; }
The above code will give the following output:
Reverse of 7902 is: 2097
Recommended Pages
- C++ - Swap two numbers
- C++ Program - Fibonacci Sequence
- C++ Program - Insertion Sort
- C++ Program - Find Factorial of a Number
- C++ Program - Find HCF of Two Numbers
- C++ Program - Merge Sort
- C++ Program - Shell Sort
- Stack in C++
- Queue in C++
- C++ Program - Find LCM of Two Numbers
- C++ Program - To Check Whether a Number is Palindrome or Not
- C++ Program - To Check Whether a String is Palindrome or Not
- C++ Program - Heap Sort
- C++ Program - Quick Sort
- C++ - Swap Two Numbers without using Temporary Variable
- C++ Program - To Check Armstrong Number
- C++ Program - Counting Sort
- C++ Program - Radix Sort
- C++ Program - Find Largest Number among Three Numbers
- C++ Program - Print Floyd's Triangle