№ 7346 (Уровень: Средний)
(Д. Статный) Дано арифметическое выражение:
В записи чисел переменной x
обозначена неизвестная цифра из допустимого алфавита для указанных систем счисления.
Определите наибольшее значение x
, при котором значение данного арифметического выражения кратно 35.
Для найденного значения x вычислите частное от деления значения арифметического выражения на 35 и укажите его в ответе в десятичной системе счисления.
Комментарии к коду программы:
def my_int(M: list, n: int):
- Объявляем функцию my_int
, которая принимает два аргумента: число для перевода в виде списока M
и систему счисления из которой будем переводить в виде переменной n
.r = 0
- Создаем переменную r
со значением 0, куда будем записывать итоговый результат перевода.M.reverse()
- Используем метод reverse()
для переворачивания списка M
, таким образом порядковые номера выстроятся по направлению индексов цикла for
.for i in range(0, len(M)):
- Используем цикл for
, чтобы перебрать все элементы списка M
по индексам.r += M[i] * n ** i
- Для каждого элемента списка M
вычисляем значение по формуле и добавляем его к переменной r
(итоговую сумму).return r
- Возвращаем значение переменной r
, то есть результат перевода.for x in range(0, 67):
- Используем цикл for
, чтобы перебрать все значения от 0 до 66 для переменной x
(всегда выбираем нижнюю систему счисления, так как большие числа не могут находиться в меньшей системе счисления).A = my_int([3, x, 2, 1], 81)
- Вызываем функцию my_int
с аргументами [3, x, 2, 1]
и 81
и сохраняем результат в переменной A
.B = my_int([1, 7, x, 4], 67)
- Вызываем функцию my_int
с аргументами [1, 7, x, 4]
и 67
и сохраняем результат в переменной B
.