26.04.2025

Поляков 5-180

#     180) (А.М. Кабанов, Тольятти)  Автомат обрабатывает натуральное число N < 128
#     по следующему алгоритму:
# 1) Строится восьмибитная двоичная запись числа N.
# 2) Инвертируются разряды исходного числа (0 заменяется на 1, 1 на 0).
# 3) К полученному двоичному числу прибавляют единицу.
# 4) Полученное число переводится в десятичную систему счисления.
# Для какого числа N результат работы алгоритма равен 153?

for N in range(128):
    n = bin(N)
    n = n[2::]
    # print(n)
    count = len(n)
    count = 8 - count
    if count != 0:
        n = '0' * count + n
    # print(n)
    s=''
    for i in range(8):
        if n[i]=='1':
            s+='0'
        else:
            s+='1'
    # print(s)
    # print(s)
    r=int(s,2)+1
    # print(r)
    if r==153:
        print(N)

Добавить комментарий