Найти тему

ЕГЭ по информатике (2024) задание № 5

Оглавление
https://inf-ege.sdamgia.ru/test?theme=362  В скобках указаны номера заданий в "Решу ЕГЭ"
https://inf-ege.sdamgia.ru/test?theme=362 В скобках указаны номера заданий в "Решу ЕГЭ"

№ 1 (8094).

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

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

  К этой записи дописываются справа ещё два разряда по следующему правилу:

а)  складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;

б)  над этой записью производятся те же действия  — справа дописывается остаток от деления суммы цифр на 2.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Укажите минимальное число R, которое превышает 43 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.

Решение:

for n in range(1,100):                 
    r = bin(n)[2:]                
    r = r+str(r.count('1')%2)     
    r = r+str(r.count('1')%2)     
    r = int(r,2)
    if r > 43:
        print(r)
for n in range(1,100): r = bin(n)[2:] r = r+str(r.count('1')%2) r = r+str(r.count('1')%2) r = int(r,2) if r > 43: print(r)

№ 5 (15622)

-3

№ 14 (16809).

#1-й метод решения: 
for n in range(0,256):
    r = bin(n)[2:]
    r = 11111111 - int(r)
    r = int(str(r),2)
    r = r-n
    if r==133:
        print(n)
        
#2й метод решения:
for n in range(0,256):
    r=bin(n)[2:]
    r='0'*(8-len(r))+r
    r=r.replace('1','*')
    r=r.replace('0','1')
    r=r.replace('*','0')
    r=int(r,2)
    r=r-n
    if r==133:
        print(n)
#1-й метод решения: for n in range(0,256): r = bin(n)[2:] r = 11111111 - int(r) r = int(str(r),2) r = r-n if r==133: print(n) #2й метод решения: for n in range(0,256): r=bin(n)[2:] r='0'*(8-len(r))+r r=r.replace('1','*') r=r.replace('0','1') r=r.replace('*','0') r=int(r,2) r=r-n if r==133: print(n)

№ 45 (33507).

for n in range(4,100):
    
       r = bin(n)[2:]
    
       r = r[:-1]+r[1]*2
    
       r = int(r,2)
    
       if r > 92:
        
           print(n)
for n in range(4,100): r = bin(n)[2:] r = r[:-1]+r[1]*2 r = int(r,2) if r > 92: print(n)

Наука
7 млн интересуются