Задача №5 - Вывод цифр числа в обратном порядке.

Задачи из этого этого списка

<?php
/* Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке.*/

$N = 73789;
$temp = $N;
$k;

echo "Искомое число: ".$N. '<br />';
echo "Вывод цифр числа в обратном порядке:".'<br />';

while ($temp > 1) {
    $k = $temp % 10;
    $temp /= 10;
    echo $k. '<br />';            
}         
?>

Key Words for FKN + antitotal forum (CS VSU):

melisa's picture

  1. $k;

    Объявление этой переменной бессмысленно, т.к. она используется только в области видимости цикла while

  2. $temp = $N;

    Поясните смысл данной строки или удалите лишнее

  3. echo "Искомое число: ".$N. '<br />';

    Хоть решение от этого и не менятеся, но $N - не искомое, а данное число.

  4. Тело цикла задачу решает верно, но $k внутри цикла тоже не нужна. Попробуйте переписать без неё.
  5. Код отрабатывает неверно при $N = 0 и 1
Pavel1989's picture

Смог обеспечить работу кода при N = 0, только введя дополнительное условие.
Если просто включить в условие while нуль,
то при запуске программа виснет.

<?php
/* Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке.*/

$N = 7878;

echo "Данное число: ".$N. '<br />';
echo "Вывод цифр числа в обратном порядке:".'<br />';

if ($N == 0) {
    echo $N;        
} else {
        while ($N >= 1 || $N <= -1) {
               echo abs ( $N % 10);
               $N /= 10;           
        }
}        
?>
melisa's picture

внутри блоков else и while отступы смещены.

Pavel1989's picture

<?php
/* Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке.*/

$N = 6321;

echo "Данное число: ".$N. '<br />';
echo "Вывод цифр числа в обратном порядке:".'<br />';

if ($N == 0) {
    echo $N;        
} else {
    while ($N >= 1 || $N <= -1) {
        echo abs ($N % 10);
        $N /= 10;           
    }
}        
?>