Program to Reverse a Number Using Recursion
- Write a program to Reverse a Number Using Recursion in C
- Write a program to Reverse a Number Using Recursion in C++
- Write a program to Reverse a Number Using Recursion in Python
- Write a program to Reverse a Number Using Recursion in PHP
- Write a program to Reverse a Number Using Recursion in Java
- Write a program to Reverse a Number Using Recursion in Java Script
- Write a program to Reverse a Number Using Recursion in C#
Explanation:
Logic to Reverse a Number Using Recursion
To reverse a number using recursion, the general approach is to extract the digits of the number from right to left and construct the reversed number by recursively processing each digit.
Here’s the step-by-step breakdown of the logic:
- Base Case:
- If the number becomes 0, return 0 as the reversed number.
- Recursive Case:
- To reverse the number, extract the last digit of the number using n % 10 (this gives the remainder when divided by 10).
- Remove the last digit from the number using integer division n // 10.
- Multiply the reversed number so far by 10 and add the last digit to it.
- Recursive Call:
- The function will keep calling itself with the reduced number until the number becomes 0.
Program to Reverse a Number Using Recursion
-
C
-
C++
-
Python
-
PHP
-
JAVA
-
Java Script
-
C#
#include <stdio.h> int reverse_number(int n, int rev) { if (n == 0) return rev; return reverse_number(n / 10, rev * 10 + n % 10); } int main() { int n, rev = 0; printf("Enter a number: "); scanf("%d", &n); printf("Reversed number is %d\n", reverse_number(n, rev)); return 0; }
#include <iostream> using namespace std; int reverse_number(int n, int rev = 0) { if (n == 0) return rev; return reverse_number(n / 10, rev * 10 + n % 10); } int main() { int n; cout << "Enter a number: "; cin >> n; cout << "Reversed number is " << reverse_number(n) << endl; return 0; }
def reverse_number(n, rev=0): if n == 0: return rev return reverse_number(n // 10, rev * 10 + n % 10) n = int(input("Enter a number: ")) print(f"Reversed number is {reverse_number(n)}")
<?php function reverse_number($n, $rev = 0) { if ($n == 0) return $rev; return reverse_number((int)($n / 10), $rev * 10 + $n % 10); } echo "Enter a number: "; $n = intval(trim(fgets(STDIN))); echo "Reversed number is " . reverse_number($n) . "\n"; ?>
import java.util.Scanner; public class Main { public static int reverse_number(int n, int rev) { if (n == 0) return rev; return reverse_number(n / 10, rev * 10 + n % 10); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter a number: "); int n = scanner.nextInt(); System.out.println("Reversed number is " + reverse_number(n, 0)); } }
function reverse_number(n, rev = 0) { if (n === 0) return rev; return reverse_number(Math.floor(n / 10), rev * 10 + n % 10); } const n = parseInt(prompt("Enter a number:")); console.log(`Reversed number is ${reverse_number(n)}`);
using System; class Program { static int ReverseNumber(int n, int rev = 0) { if (n == 0) return rev; return ReverseNumber(n / 10, rev * 10 + n % 10); } static void Main() { Console.Write("Enter a number: "); int n = int.Parse(Console.ReadLine()); Console.WriteLine($"Reversed number is {ReverseNumber(n)}"); } }