Задача к ЕГЭ по информатике на тему «арифметические выражения» №4

Сколько значащих нулей содержится в двоичной записи значения выражения: 42020 + 82021 + 162022  ?

Решение руками:

1. Представим все слагаемые как степени двойки:

pict

2. Двоичное представление каждого слагаемого:

  • 24040 = 100...0         ◟4◝0◜40◞
  • 26063 = 10◟0.◝.◜.0◞          6063
  •  8088 2    = 10◟0.◝.◜.0◞          8088

3. Сложение в двоичной системе:

10◟0.◝.◜.0◞+1 0◟0.◝.◜.0◞+1 0◟0.◝.◜.0◞= 1  0◟0.◝.◜.0◞  +1  0◟0.◝.◜.0◞  +1 0◟0.◝.◜.0◞   4040     6063     8088     8088−6063− 1  6063−4040−1    4040

4. Подсчёт значащих нулей:

  • Между первой и второй единицей: 8088− 6063− 1 = 2024  нуля
  • Между второй и третьей единицей: 6063− 4040− 1 = 2022  нуля
  • После третьей единицы: 4040  нулей

Общее количество значащих нулей:

2024+ 2022+ 4040 = 8086

Ответ

|----| 8086--

Решение Python:

# Способ 1
a = 2**4 + 2**8 + 2**16
s = ’’
# Переводим числовое выражение в 2СС
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))
# Способ 2
s = bin(2**4 + 2**8 + 2**16)[2:]
print(s.count(’1’))

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