Сколько единиц содержится в двоичной записи значения выражения: 42018 + 22018 – 32?
Преобразуем выражение:
Число 24036 в двоичной записи записывается как единица и 4036 нулей. Добавив число 22018, получаем 100...00100...000 (единица, 2017 нулей, единица, 2018 нулей, всего 4037 разрядных цифр). Если вычесть из этого числа 25 = 1000002, то число примет вид 100...001...100000. В полученном числе единица, 2018 нулей, 2013 единиц и пять нулей. Значит, всего в числе 2014 единиц.
Ответ: 2014.
Приведём другое решение на языке Python.
N = 4**2018+2**2018-32
c = 0
while N != 0:
r = N%2
N = N//2
if r == 1:
c+=1
print(c)
Приведём другое решение на языке Python.
x = 4**2018 + 2**2018 - 32
s = ''
while x != 0:
s += str(x % 2)
x //= 2
s = s[::-1]
print(s.count("1"))

