1 июня 2016 г.

ЕГЭ по информатике 2016. Алгоритмизация, задание 20

Задание 20. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 9.


Решение:
1. Видим, что в последней строке выводятся на экран переменные a и b, поэтому сначала нужно определить, что они обозначают в программе.
2. Перед началом цикла переменные a и b принимают значение ноль.
3. На каждом шаге цикла при выполнении некоторого условия переменная a увеличивается на 1, а b увеличивается на x mod 10, то есть, на остаток от деления x на 10 – это последняя цифра десятичной записи числа x.
4. В конце каждого шага цикла операция x:=x div 10 отсекает последнюю цифру в десятичной записи числа.
5. Цикл заканчивается, когда перестаёт выполняться условие x > 0, то есть, когда все цифры исходного числа отброшены.
6. Таким образом, делаем вывод: после завершения цикла в переменной a находится количество цифр в десятичной записи числа, а в переменной b – их сумма.
7. Если было выведено 2 и 9, то в числе 2 цифры, и их сумма равна 9; таким образом, нам нужно найти все двузначные числа, в котором сумма значений цифр равна 9.
8. Число 9 может быть разложено на два слагаемых, меньших 10, как 
9 = 1 + 8 = 2 + 7 = 3 + 6 = 4 + 5 = 5 + 4 = 6 + 3 = 7 + 2 = 8 + 1 = 9 + 0. 
Нам подходят числа 18, 27, 36, 45, 54, 63, 72, 82 и 90.
9. Наибольшее число 90.

Ответ: 90

Комментариев нет:

Отправить комментарий