Учебные задачи PHP. Задача 6
Primary tabs
Список учебных задач PHP здесь
Условие: Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в обратном порядке (аналогично предыдущей задаче - "используйте цикл while и операцию получения остатка"), если же таких цифр не найдёт, вывести сообщение "Нечетных цифр не обнаружено!"
Нужна помощь. Не могу понять, как заставить скрипт выводить сообщение "Нечетных цифр не обнаружено!"
<?php
$num = rand(1,99999);
$count = strlen($num);
$i = 1;
while ($i <= $count) { // $count применяем в качестве ограничителя по количеству интераций
$edgeValue = $num % 10; // находим крайнее число - остаток от деления на 10
if ($edgeValue % 2 != 0) { // если остаток от деления на 2 не равен нулю, то...
echo $edgeValue, '<br>';
}
$num /= 10; // число для следующей итерации
$i++;
}
?>- Log in to post comments
- 6605 reads
vedro-compota
Fri, 02/22/2019 - 00:06
Permalink
когда это бывает
ну а в какой ситуации они могут быть не обнаружены?
_____________
матфак вгу и остальная классика =)
rvsokolov
Fri, 02/22/2019 - 11:03
Permalink
Вероятно, если остаток от
Вероятно, если остаток от деления каждого числа будет равен нулю?
Если я мыслю в правильном ключе, подскажите,
как это можно реализовать? я пробовал if-else,
но это не работает как нужно:
<?php $num = rand(1,99999); $count = strlen($num); $i = 1; while ($i <= $count) { // $count применяем в качестве ограничителя по количеству итераций $edgeValue = $num % 10; // находим крайнее число - остаток от деления на 10 if ($edgeValue % 2 != 0) { // если остаток от деления на 2 не равен нулю, то... echo $edgeValue, '<br>'; } elseif ($edgeValue % 2 == 0) { echo 'Нечетных цифр не обнаружено! <br>'; } $num /= 10; // число для следующей итерации $i++; } ?>vedro-compota
Fri, 02/22/2019 - 13:43
Permalink
не совсем так
а если, например, 4-ём?)) Т.е. на самом деле вообще любому четному числу, напр. в чеисл 2468 нечетный цифр действительно нет.
Если нечетных цифр не обнаружено, то значит их количество просто равно нулю, а чтобы узнать чему равно их количество надо его посчитать)
_____________
матфак вгу и остальная классика =)
rvsokolov
Fri, 02/22/2019 - 17:39
Permalink
Новое решение
Новое решение
<?php $num = rand(0,99999); $i = 0; while ($num >= 1) { $edgeValue = $num % 10; $num /= 10; if ($edgeValue % 2 != 0) { echo $edgeValue, '<br>'; $i++; } } if ($i == 0) { echo 'Нечетных чисел не обнаружено!'; } ?>vedro-compota
Fri, 02/22/2019 - 23:34
Permalink
решение засчитано.
решение засчитано.
_____________
матфак вгу и остальная классика =)