w3resource

PHP Exercises: Find the difference between the largest integer and the smallest integer

PHP: Exercise-64 with Solution

Write a PHP program to find the difference between the largest integer and the smallest integer which are created by 8 numbers from 0 to 9. The number that can be rearranged shall start with 0 as in 00135668.

Input: The difference between the largest integer and the smallest integer.

Pictorial Presentation:

PHP: Find the difference between the largest integer and the smallest integer.

Sample Solution:

PHP Code:

<?php
// Read the number of test cases from standard input
fscanf(STDIN, '%d', $n);

// Loop through each test case
for ($i = 0; $i < $n; $i++) {
    // Read the string from standard input
    fscanf(STDIN, '%s', $s);

    // Convert the string to an array of characters
    $s = str_split($s);

    // Sort the array of characters in descending order
    rsort($s);

    // Convert the sorted array back to an integer to get the largest number
    $a = (int) implode('', $s);

    // Sort the array of characters in ascending order
    sort($s);

    // Convert the sorted array back to an integer to get the smallest number
    $b = (int) implode('', $s);

    // Output the difference between the largest and smallest integers
    echo "Difference between the largest integer and the smallest integer:\n";
    echo $a - $b;
    echo PHP_EOL;
}

?>

Explanation:

  • Read Number of Test Cases:
    • The code reads an integer input from standard input, representing the number of test cases (fscanf(STDIN, '%d', $n)).
  • Loop Through Test Cases:
    • A for loop iterates through each test case from 0 to n-1.
  • Read Input String:
    • For each test case, it reads a string input (fscanf(STDIN, '%s', $s)).
  • Convert String to Array:
    • The string is converted into an array of characters using str_split($s).
  • Sort Characters in Descending Order:
    • The character array is sorted in descending order using rsort($s).
  • Create Largest Number:
    • The sorted array is joined back into a string with implode('', $s) and then converted to an integer, representing the largest number ($a).
  • Sort Characters in Ascending Order:
    • The character array is sorted in ascending order using sort($s).
  • Create Smallest Number:
    • The sorted array is joined back into a string and converted to an integer, representing the smallest number ($b).
  • Calculate and Output Difference:
    • The code calculates the difference between the largest and smallest integers ($a - $b) and outputs the result, preceded by a descriptive message.

Sample Input:
1
34568729

Sample Output:

Difference between the largest integer and the smallest integer:
75308643

Flowchart:

Flowchart: Find the difference between the largest integer and the smallest integer.

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP program to replace a string "Python" with "PHP" and "Python" with " PHP" in a given string.
Next: Write a PHP program to compute the sum of first n given prime numbers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/php-exercises/php-basic-exercise-64.php