26.04.2025

Поляков р5 №143

'''143)	На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R
следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописывается (дублируется) последняя цифра.
3) Затем справа дописывается бит чётности: 0, если в двоичном коде полученного числа чётное
число единиц, и 1, если нечётное.
4) К полученному результату дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N)
является двоичной записью искомого числа R. Укажите минимальное число N, после обработки
которого автомат получает число, большее 114. В ответе это число запишите в десятичной системе.'''

for n in range(1,10000):
    m=bin(n)[2::]
    #print(m)
    m=m+m[-1]
    #print(m)
    for i in range(2):
        count1=m.count("1")
        if count1%2==0:
            m+="0"
        else:
            m+="1"
        #print(m)
    r=int(m,2)
    if r>114:
        print(n)
        break

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