
50 БАЛОВ ЗА ЗАДАЧУ Сколько единиц в двоичной записи числа (2^2018)−2018?


Ответы на вопрос

(исходное выражение трансформировалось в 2^2018-2048+32-2)
2048=2^11 (единица и 11 нулей)
32=2^5 (единица и 5 нулей)
2=10 :)
Для начала прибавлю к 2^2018 100000. Получится число, у которого (с конца) 5 нулей, затем единица, затем идут 2012 нулей и снова единица.
Теперь буду вычитать 2 т .е. 100...100000-10. Займу единицу с шестой с конца позиции. Будет 100...011110. Теперь нужно вычитать из этого числа 2^11. Последние 11 позиций не изменятся (вычитаются нули), а вот для вычета единицы потребуется "зянять" её у самой первой цифры числа. Если нарисовать последние 12 цифр исходного числа, картинка будет следующая:
1...000000011110
- 100000000000
---------------------------
0...111111111110
Осталось узнать, сколько единичек стояло на месте многоточия. В 2^11 было 12 цифр, соответственно, получаем 2018-12=2006 позиций, на которых стоят нули. К этим позициям нужно добавить 11 единиц, которые видны в "столбике".
Итого 2006+11=2017 единиц\
P.S. если понятен принцип решения, советую перерешить еще раз, потому что у меня очень плохо с арифметикой.
***
Есть очень хорошее свойство: некое десятичное число n^m в переводе в n-ичную систему счисления будет в этой системе счисления выглядеть как единица и m нулей. Свойство довольно очевидное: при переводе из десятичной системы в n-ичную мы исходное число будем делить на n, т.е. получим остаток от деления 0 и частное n^(m-1). И так будет продолжаться m раз, пока мы не разделим число само на себя и получим единицу в последнем частном. Отсюда 1 и m нулей.



Давайте посчитаем количество единиц в двоичной записи числа (2^2018) - 2018.
Сначала найдем значение числа (2^2018):
2^2018 = 2 * 2 * 2 * ... * 2 (2018 раз)
Чтобы упростить вычисление, заметим, что в двоичной системе числа представляются в виде степеней двойки. В числе (2^2018), у которого 2018 двоек, остальные цифры будут нулями. Таким образом, это число будет иметь длину равную 2018 + 1 (включая саму степень 2^2018).
Теперь вычтем 2018 из числа (2^2018):
(2^2018) - 2018
Так как в двоичной системе отнимание аналогично отниманию в десятичной системе, мы просто вычтем 2018 из двоичной записи числа (2^2018).
После этого, нужно убедиться, что длина двоичной записи числа (2^2018) - 2018 равна 2018. Если это так, то все цифры в его двоичной записи будут нулями, и количество единиц будет равно 0.
Таким образом, количество единиц в двоичной записи числа (2^2018) - 2018 равно 0.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili