Найти тему
Волшебный учитель

Подготовка к ЕГЭ по информатике. Разбор задания №20

Задание на самом деле проще чем кажется на первый взгляд.

Сейчас добавили новый вид 20го задания, но суть его осталась прежней. Необходимо подобрать число (максимально или минимальное), при котором программа выведет определенный результат.

Для решения данной задачи необходимо обладать в основном вниманием, и навыком чтения кода. А также умение переводить из одной системы счисления в другую.

Давайте посмотрим на эту задачу и решим с чего надо начать.

Я буду использовать язык Python

-2

Мы видим что последней выводится M, а он получается в результате работы M = M + 1. А это простой счетчик указывающий на количество цифр в числе. Следовательно, число будет трехзначное.

Дальше мы видим код L = L* (x%8) и x = x // 8 , это означает что число будет представлено в восьмеричной системе счисления и будет строиться по остаткам. Поэтому дальше мы будем работать с остатками от деления на 8.

Чтобы получить 21 нам надо перемножить два числа 7 и 3, но как было сказано выше цифр должно быть 3, значит нам нужна еще одна цифра не влияющая на умножение - это цифра 1. В итоге мы получаем цифры 1, 3, 7. Наибольшее число мы можем получить 731.

Но еще не все, в условии есть еще такая строка if x%2 != 0: а это показывает что умножение будет происходить если текущее число нечетное. Значит мы можем нашу 1 заменить на максимальную четную цифру в восьмеричной системы счисления - это 6.

В итоге мы получаем число 763. Но оно представлено в восьмеричной системе счисления. Переводим ее в десятичную получаем ответ 499.

Как вам такое решение? Все понятно?

Подписывайтесь на канал и ставьте лайк!