Пример 1
Значение арифметического выражения 4²⁰²⁰ + 2²⁰¹⁷ − 15 записали в системе счисления с основанием 2. Сколько единиц содержится в этой записи?
Показать решение и ответ
1. 4²⁰²⁰ = 2⁴⁰⁴⁰ — в двоичной записи это одна единица и нули.
2. 2²⁰¹⁷ − 15 = (2²⁰¹⁷ − 2⁴) + 1, потому что 15 = 16 − 1.
3. 2²⁰¹⁷ − 2⁴ — это единицы в разрядах с 4-го по 2016-й: 2016 − 4 + 1 = 2013 единиц.
4. + 1 даёт ещё единицу в нулевом разряде (там был 0): 2014 единиц.
5. Разряды не пересекаются с 4040-м, складываем: 1 + 2014 = 2015.
Проверка программой:
x = 4**2020 + 2**2017 - 15 # Python работает с длинными числами без потери точности
print(bin(x).count('1')) # bin даёт строку '0b1…', считаем в ней единицыОтвет: 2015
