Задача.
При х = 0 выполнение цикла прекращается.
Ниже на пяти языках записан алгоритм, который получает на вход число x и печатает два числа a и b . Укажите наибольшее из таких чисел x , при вводе которых алгоритм сначала печатает 3 , а потом 5 .
Решение.
1) Сначала а = 0, а после выполнения алгоритма а = 3, значит цикл в алгоритме должен быть выполнен 3 раза (а увеличивается на 1 каждый раз), при этом значения b = 1 должно измениться и стать b = 5.
Изменение b происходит в результате умножения предыдущего значения b на множитель (х mod 10). Следовательно, b = 5 можно достичь несколькими способами:
1 * 1 * 1 * 5 = 5
1 * 1 * 5 * 1 = 5
1 * 5 * 1 * 1 = 5
2) Рассмотрим выполнение алгоритма для х = 115, 151, 511.
х
|
x mod
10
|
1-й
цикл
|
x mod
10
|
2-й
цикл
|
x mod
10
|
3-й
цикл
|
115
|
5
|
а = 1
b = 1 *
5 = 5
x = 115
div 10 = 11
|
1
|
а = 2
b = 5 *
1 = 5
x = 11
div 10 = 1
|
1
|
а = 3
b = 5 *
1 = 5
x = 1
div 10 = 0
|
151
|
1
|
а = 1
b = 1 *
1 = 1
x = 151
div 10 = 15
|
5
|
а = 2
b = 1 *
5 = 5
x = 15
div 10 = 1
|
1
|
а = 3
b = 5 *
1 = 5
x = 1
div 10 = 0
|
511
|
1
|
а = 1
b = 1 *
1 = 1
x = 511
div 10 = 51
|
1
|
а = 2
b = 1 *
1 = 1
x = 51
div 10 = 5
|
5
|
а = 3
b = 1 *
5 = 5
x = 5
div 10 = 0
|
Наибольшим среди 115, 151, 511 является 511.
Ответ: 511.
Ресурсы:
Комментариев нет:
Отправить комментарий