Задание 14 - Информатика

← Вернуться к списку заданий

Условие задачи

ID Задания: FEA575

Сколько единиц содержится в двоичной записи значения выражения: \(4^{2015} + 2^{2016} - 5\)?

Ответ: 2016

Комментарий

Решение руками:

 

1. \(4^{2015} + 2^{2016} - 5\) записано в десятичной системе счисления, преобразуем его, чтобы были только двойки (приведём к одному основанию)

 

2. \(2^{4030} + 2^{2016} - 2^2 - 2^0\)

Когда мы записываем число в двоичной системе счисления, мы понимаем, что в нём будут только цифры 0 и 1. Число \(2^{4030}\) в двоичной системе счисления выглядит как 1000…000 (4030 нулей), поэтому единицы могут появиться только от вычитания другого числа.

 

3. Посчитаем степени: 2016 - 2 = 2014, прибавим единицу из начаа и ещё 2 единицы из конца \((-2^0)\), но из-за этого вычитания пропала ещё одна единица. В итоге:

 

4. 2014 + 1 + 2 - 1 = 2016 - единиц в двоичной записи

 

Программой:

Первый способ:

Перепишем выражение в программу, после этого создаём цикл с условием (while n > 0), и начинаем перебирать каждый разряд, проверяя, равен ли он 1 (в системе счисления с основанием 2). Для подсчёта цифр «1» создаём отдельную переменную.

Второй способ:

Перепишем выражение в программу, после этого создаём цикл с условием (while n > 0) и начинаем переводить число в двоичную систему счисления (записываем каждый разряд как строку). После этого, с помощью метода .count(‘1’) находим количество единиц. Не забывайте, что мы добавляли число задом наперед (начиная с малых разрядов), поэтому если вам нужно само число, не забудьте его перевернуть.


Похожие задания

Задание 14 Задание 14 Задание 14 Задание 14 Задание 14