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

Автомат обрабатывает натуральное число N < 256 по следующему алгоритму:

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

2) Инвертируются все разряды исходного числа, кроме последней единицы и стоящих за ней нулей (0 заменяется на 1, 1 на 0).

3) Полученное число переводится в десятичную систему счисления.

Для какого значения N результат работы алгоритма равен 98?

for number in range(256):
    binary_number = bin(number)[2:].zfill(8)
    new_bin = ’’
    for i in range(len(binary_number)):
        if binary_number[i] == ’1’ and binary_number[i+1:].count(’1’) == 0:
            new_bin += binary_number[i:]
            break
        else:
            if binary_number[i] == ’1’:
                new_bin += ’0’
            else:
                new_bin += ’1’
    decimal_result = int(new_bin, 2)

    if decimal_result == 98:
        print(number)

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