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

Сколько единиц в двоичной записи числа 243 + 214 + 2  ?

Решение Python:

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

#Способ 2
a = 2**43 + 2**14 + 2
# Перевод выражения в 2сс
s = ’’
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))

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

В двоичной системе счисления, любое число вида 2k  имеет вид 100 ...002   , где после единицы идёт ровно k  нулей. Соответственно, сумма  43    14 2  + 2   + 2  не создаст переполнения ни в одном разряде, и будет иметь вид 100...00100 ...102   с единицами ровно на 44, 15 и 2 месте.

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