В ответе запишите число в десятичной системе счисления.
Решение:
|
|
def seventh(a): k=0 while a>0: if a%7==0: k+=1 a=a//7 return k for x in range(1, 2031): a = 7**91 + 7**160 - x if seventh(a)==70: print(x) |
…
2027
2028
2029
Объяснение кода:
- Определяем функцию
seventh(a), которая считает количество нулей в 7-ричной записи числа a:
- Инициализируем переменную
k значением 0, которая будет считать количество нулей.
- В цикле
while продолжаем делить a на 7, пока a больше 0.
- Если остаток от деления
a на 7 равен 0, увеличиваем k на 1.
- Делим
a на 7 с использованием целочисленного деления.
- Возвращаем значение
k.
- В основном блоке кода перебираем значения
x от 1 до 2030:
- Вычисляем значение
a как 791 + 7160 — x.
- Используем функцию
seventh(a) для проверки, содержится ли в 7-ричной записи числа a ровно 70 нулей.
- Если условие выполняется, выводим значение
x.
Таким образом, код определяет наибольшее значение x, при котором в 7-ричной записи числа 791 + 7160 - x содержится ровно 70 нулей.
Ответ: 2029