Reversing a Number using Recursion in C++
Reversing a Number using Recursion in C++
Here, in this page we will discuss the program for reversing a number using recursion in C++ programming language. We are given with a number and need to print the reverse of the given number. We will discuss the both recursive and non-recursive method to find the reverse of the given input number.
Example :
- Input : 1234
- Output : 4321
Method 1 (Using Recursion) :
- Create a reverse(int n), a recursive function of void type.
- Base condition will be : if (n <10) , then print(n) and return.
- Otherwise, print(n%10) and call function reverse(n/10).
Time and Space Complexity
- Time Complexity : O(d) where, d denotes the number of digits in number n.
- Space Complexity : O(1)
Code for Reversing a Number Using Recursion in C++
Run
#include <bits/stdc++.h>
using namespace std;
void reverse(int n)
{
// base condition to end recursive calls
if (n < 10) {
cout<<n;
return;
}
else{
cout<<n%10;
reverse(n/10);
}
}
// Driver Program
int main()
{
int n=1234;
reverse(n); //Calling recursive function
return 0;
}
Output :
4321
Method 2 (Using Loop) :
- Create a variable to store the reversed number, say it is rev and initialized it with 0.
- Run a loop till n is greater than 0.
- Inside the loop, create a variable say rem to hold the unit digit of number n.
- Set, rem = n%10.
- and rev = rev*10 + rem.
- Then decrement n as n = n/10.
- After termination of loop print(rev)
Time and Space Complexity
- Time Complexity : O(d) where, d denotes the number of digits in number n.
- Space Complexity : O(1)
Code for Reversing a Number Using loop in C++
Run
#include <bits/stdc++.h>
using namespace std;
void reverse(int n)
{
int rev=0;
while(n>0){
int rem=n%10;
rev = rev*10 + rem;
n /= 10;
}
cout<<rev;
}
// Driver Program
int main()
{
int n=1234;
reverse(n);
return 0;
}
Output :
4321
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Login/Signup to comment