Сколько единиц содержится в двоичной записи значения выражения: 42013 + 22012 – 16?
Преобразуем выражение:
Число 24026 в двоичной записи записывается как единица и 4026 нулей. Добавив число 22012, получаем 100...00100...000 (единица, 2013 нулей, единица, 2012 нулей, всего 4027 разрядных цифр). Если вычесть из этого числа 24 = 1 00002, то число примет вид 100...001...10000. В полученном числе единица, 2014 нулей, 2008 единиц и четыре нуля. Значит, всего в числе 2009 единиц.
Ответ: 2009.
Приведём другое решение на языке Python.
x = 4**2013 + 2**2012 - 16
s = ''
while x != 0:
s += str(x % 2)
x //= 2
s = s[::-1]
print(s.count("1"))
Приведём решение Вадима Злобина на языке Python.
s = 4**2013 + 2**2012 - 16
n = bin(s)[2:]
print(n.count('1'))

