Инициализация. a = 0; b = 1. Цикл. В каждом проходе a увеличивается на 1; b на что-то умножается; у x отбрасывается последняя цифра. Конец цикла - когда x = 0.
Понятно, что a = количеству проходов цикла = 2. Сравнивая с условием выхода из цикла, получаем, что 2 раза от x откинулась последняя цифра, а потом уже цифр не осталось. Итак, x - двузначное число.
Разберёмся, что происходит с b. Каждый раз оно умножается на (x mod 10) - последнюю цифру текущего значения числа x. Так как после каждого прохода цикла последняя цифра x отбрасывается, и последней становится предпоследняя цифра, то b будет умножено на каждую цифру исходного числа x.
Итак, задача. Найти минимальное двузначное число x с произведением цифр 15. Очевидно, x = 35.
Answers & Comments
Verified answer
Посмотрим, что делает программа.Инициализация. a = 0; b = 1.
Цикл. В каждом проходе a увеличивается на 1; b на что-то умножается; у x отбрасывается последняя цифра.
Конец цикла - когда x = 0.
Понятно, что a = количеству проходов цикла = 2.
Сравнивая с условием выхода из цикла, получаем, что 2 раза от x откинулась последняя цифра, а потом уже цифр не осталось. Итак, x - двузначное число.
Разберёмся, что происходит с b. Каждый раз оно умножается на (x mod 10) - последнюю цифру текущего значения числа x. Так как после каждого прохода цикла последняя цифра x отбрасывается, и последней становится предпоследняя цифра, то b будет умножено на каждую цифру исходного числа x.
Итак, задача. Найти минимальное двузначное число x с произведением цифр 15. Очевидно, x = 35.