Задача к ЕГЭ по информатике на тему «Запись числа в двоичной системе счисления» №4

Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом:

1. Строится двоичная запись числа N.

2. Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.

3. Шаг 2 повторяется ещё два раза.

4. Результат переводится в десятичную систему счисления.

При каком наименьшем исходном числе N > 93 в результате работы алгоритма получится число, кратное 6?

for n in range(94, 1000):
    r = bin(n)[2:]
    for i in range(3):  # Повторяем шаг ровно 3 раза
        count_ones = r.count(’1’)  # Считаем количество 1
        count_zeros = r.count(’0’)  # Считаем количество 0
        if count_ones == count_zeros:  # Количество цифр одинаково
            r = r + r[-1]
        elif count_ones > count_zeros:  # 0 встречается реже
            r = r + ’0’
        else:  # 1 встречается реже
            r = r + ’1’
    r = int(r, 2)  # Переводим результат в 10-ричную СС
    if r % 6 == 0:
        print(n)
        break  # Первое выведенное число будет минимальным

Ответ: 111
Оцените статью
Я решу все!