26.04.2025

Поляков р5 №94

    94) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное.
3) К полученному результату дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 116, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе.
for N in range(1,1000):
    n=bin(N)[2::]
    if n.count('1')%2==0:
        n=n+'0'
    else:
        n=n+'1'
    if n.count('1')%2==0:
        n=n+'0'
    else:
        n=n+'1'
    r=int(n,2)
    if r>116:
        print(r)

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