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

Сколько единиц содержится в двоичной записи значения выражения: 210 + 29 +28?

Решение Python:

# Способ 1
a = 2**10 + 2**9 + 2**8
c = 0
while a > 0:
    if a % 2 == 1:
        c += 1
    a //= 2
print(c)


# Способ 2
a = bin(2**10 + 2**9 + 2**8)[2:]
print(a.count(’1’))

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

В двоичной записи нет цифры 2, а значит числа примут вид *единица, затем нули в количестве равном степени числа*, следовательно получим числа 10000000000, 1000000000 и 100000000. Итого результат сложения: 111000000002

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