Сколько единиц содержится в двоичной записи значения выражения:
Решение Python:
# Способ 1
a = 32**2 - 16**2 + 8**2 - 4**2 + 2**2 - 1**2 + 1023
c = 0
while a > 0:
if a % 2 == 1:
c += 1
a //= 2
print(c)
# Способ 2
a = bin(32**2 - 16**2 + 8**2 - 4**2 + 2**2 - 1**2 + 1023)[2:]
print(a.count(’1’))
Решение руками:
Вычтем столбиком:
100001000100
- 100010010
------------
11100110010
Итого, 6 единиц.
Ответ: 6