Reverse an Integer Using Recursion in C
In this tutorial, we will write a C program to find the reverse of an integer using recursion.
Problem Statement
Write a C program that reverses an integer using a recursive function.
Concept of Recursion
Recursion is a technique where a function calls itself until a base condition is met. In this program, we will reverse the digits of an integer using recursion.
C Program
#include <stdio.h>
int reverse(int num, int rev) {
if (num == 0)
return rev;
return reverse(num / 10, rev * 10 + (num % 10));
}
int main() {
int n, result;
printf("Enter an integer: ");
scanf("%d", &n);
result = reverse(n, 0);
printf("Reversed number: %d\n", result);
return 0;
}
Explanation
1. Function Definition
The function reverse(int num, int rev) takes two parameters:
num→ stores the remaining part of the numberrev→ stores the reversed number
2. Base Condition
if (num == 0)
return rev;
When the number becomes zero, recursion stops and the reversed number is returned.
3. Recursive Step
return reverse(num / 10, rev * 10 + (num % 10));
num % 10→ extracts the last digitrev * 10 + digit→ appends the digit to the reversed numbernum / 10→ removes the last digit- The function calls itself until
numbecomes zero
Sample Input
Enter an integer: 1234
Output
Reversed number: 4321
Time Complexity
The function processes each digit once. Therefore, the time complexity is O(n), where n is the number of digits.
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন