Задание №6089. Значение арифметического выражения 7350 + 7150 – x, где x – целое положительное число, не превышающее 2300, записали в семеричной системе счисления. Определите наибольшее значение x, при котором в семеричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 200 нулей. В ответе запишите число в десятичной системе счисления.


Задание №6089.
Позиционные системы счисления. ЕГЭ по информатике

Значение арифметического выражения 7350 + 7150x, где x – целое положительное число, не превышающее 2300, записали в семеричной системе счисления. Определите наибольшее значение x, при котором в семеричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 200 нулей. В ответе запишите число в десятичной системе счисления.

Пояснение:
Решим задание, написав программу на языке программирования Python.

def from_decimal_to_septenary(decimal_number):
    '''
    функция принимает десятичное число (в формате integer)
    и возвращает его в семеричной системе счисления
    (в формате string)
    '''
    septenary_number = ""

    while decimal_number > 0:
        remainder = decimal_number % 7
        septenary_number = str(remainder) + septenary_number
        decimal_number //= 7
    return septenary_number

final = []
for x in range(1,2301):
    n = 7 ** 350 + 7 ** 150 - x
    septenary_n = from_decimal_to_septenary(n)
    if septenary_n.count('0') == 200:
        final.append(x)
print(max(final))

Таким образом, 2001 — наибольшее значение x, при котором в семеричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 200 нулей.

Показать ответ

Источник: Открытый вариант — 2025
Сообщить об ошибке


Тест с похожими заданиями