Сколько единиц в двоичной записи числа ?
Решение 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’))
Решение руками:
В двоичной системе счисления, любое число вида имеет вид
, где после единицы идёт ровно
нулей. Соответственно, сумма
не создаст переполнения ни в одном разряде, и будет иметь вид
с единицами ровно на 44, 15 и 2 месте.
Ответ: 3