Saturday, December 28, 2024
Google search engine
HomeLanguagesWrite a program to display Reverse of any number in PHP ?

Write a program to display Reverse of any number in PHP ?

Write a program to reverse the digits of an integer.

Examples :  

Input : num = 12345
Output: 54321

Input : num = 876
Output: 678

It can be achieved using Iterative way or Recursive Way

Iterative Method: 

Algorithm:

Input:  num
(1) Initialize rev_num = 0
(2) Loop while num > 0
    (a) Multiply rev_num by 10 and add remainder
        of num divide by 10 to rev_num
        rev_num = rev_num*10 + num%10;
    (b) Divide num by 10
(3) Return rev_num

 

Example:  

num = 456213  
rev_num = 0
rev_num = rev_num *10 + num%10 = 3
num = num/10 = 45621
rev_num = rev_num *10 + num%10 = 20 + 6 = 31
num = num/10 = 4562
rev_num = rev_num *10 + num%10 = 260 + 5 = 312
num = num/10 = 456
rev_num = rev_num *10 + num%10 = 2650 + 4 = 3126
num = num/10 = 45
rev_num = rev_num *10 + num%10 = 2650 + 4 = 31265
num = num/10 = 4
rev_num = rev_num *10 + num%10 = 2650 + 4 = 312654
num = num/10 = 0

Program: 

PHP




<?php
    
// Iterative function to
// reverse digits of num
function reversDigits($num) {
    $rev_num = 0;
    while($num > 1) {
        $rev_num = $rev_num * 10 + $num % 10;
        $num = (int)$num / 10;
    }
    return $rev_num;
}
  
// Driver Code
$num = 456213;
echo "Original number is :".$num;
echo "\r\n";
echo "Reverse of no. is ", reversDigits($num);
?>


Output

Original number is :456213
Reverse of no. is 312654

Time Complexity: O(log(n)), where n is the input number.  

Auxiliary Space: O(1)

Recursive Method: 

PHP




<?php
    
// PHP program to reverse
// digits of a number
$rev_num = 0;
$base_pos = 1;
  
/* Recursive function to
reverse digits of num*/
function reversDigits($num) {
    global $rev_num;
    global $base_pos;
    if($num > 0) {
        reversDigits((int)($num / 10));
        $rev_num += ($num % 10) *
                    $base_pos;
        $base_pos *= 10;
    }
    return $rev_num;
}
  
// Driver Code
$num = 456213;
echo "Original number is :".$num;
echo "\r\n";
echo "Reverse of no. is ",
    reversDigits($num);
  
?>


Output

Original number is :456213
Reverse of no. is 312654

Time Complexity: O(log(n)) where n is the input number.

RELATED ARTICLES

Most Popular

Recent Comments