Thursday, January 9, 2025
Google search engine
HomeData Modelling & AIC Program to reverse the digits of a number using recursion

C Program to reverse the digits of a number using recursion

Given an integer N, the task is to reverse the digits of given integer using recursion.

Examples:

Input: N = 123
Output: 321
Explanation:
The reverse of the given number is 321.

Input: N = 12532
Output: 23521
Explanation:
The reverse of the given number is 23521.

Approach: Follow the steps below to solve the problem:

  • Recursively iterate every digit of N.
  • If the current value of N passed is less than 10, return N.

if(num < 10)      return N;

  • Otherwise, after each recursive call (except the base case), return the recursive function for next iteration:

    return reverse(N/10) + ((N%10)*(pow(10, (floor(log10(abs(N))))))) where, floor(log10(abs(x))) gives the count of digits of x ((x%10)*(pow(10, (floor(log10(abs(x))))))) places the extracted unit place digits (x%10) to their desired positions

Below is the implementation of the above approach:

C




// C program for the above approach
 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
 
// Function to reverse the digits of
// the given integer
int reverse(int N)
{
    return ((N <= 9))
               ? N
               : reverse(N / 10)
                     + ((N % 10)
                        * (pow(10,
                               (floor(log10(
                                   abs(N)))))));
}
 
// Utility function to reverse the
// digits of the given integer
void reverseUtil(int N)
{
    // Stores reversed integer
    int result = reverse(N);
 
    // Print reversed integer
    printf("%d", result);
}
 
// Driver Code
int main()
{
    // Given integer N
    int N = 123;
 
    // Function Call
    reverseUtil(N);
 
    return 0;
}


Output:

321

Time Complexity: O(log10N)
Auxiliary Space: O(log10N) for call stack

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments