Значение арифметического выражения 6260 + 6160 + 660 – x, где x – целое положительное число, не превышающее 2030, записали в 6-ричной системе счисления. Определите наименьшее значение x, при котором количество нулей в 6-ричной записи числа, являющегося значением данного арифметического выражения, равно 202.
В ответе запишите число в десятичной системе счисления.
Ответ:
ЕГЭ по информатике Основная волна (Центр) 19.06.2024 kompege.ru – задание №14
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
def sixth(a): k = 0 while a>0: if a%6 == 0: k+=1 a = a//6 return k for x in range(1,2031): a = 6**260+6**160+6**60-x if sixth(a) == 202: print(x) break |
Объяснение кода:
- Определяется функция
sixth(a), которая подсчитывает количество нулей в 6-ричной записи числаa.- Переменная
kиспользуется для хранения количества нулей. - В цикле
whileчислоaделится на 6, и если остаток от деления равен 0, то переменнаяkувеличивается на 1. Затемaделится нацело на 6. - Цикл продолжается до тех пор, пока
aбольше 0.
- Переменная
- В основном цикле
forперебираются значенияxот 1 до 2030.- Для каждого значения
xвычисляется выражениеa = 6**260 + 6**160 + 6**60 - x. - Если количество нулей в 6-ричной записи числа
a, найденное с помощью функцииsixth(a), равно 202, то выводится значениеxи цикл прерывается с помощьюbreak.
- Для каждого значения
Ответ: 216
