Задания
Версия для печати и копирования в MS Word
Тип 14 № 7761
i

Сколь­ко еди­ниц со­дер­жит­ся в дво­ич­ной за­пи­си зна­че­ния вы­ра­же­ния: 42020 + 22017 – 15?

Спрятать решение

Ре­ше­ние.

Пре­об­ра­зу­ем вы­ра­же­ние:

4 в сте­пе­ни левая круг­лая скоб­ка 2020 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2017 пра­вая круг­лая скоб­ка минус 15 = левая круг­лая скоб­ка 2 в сте­пе­ни левая круг­лая скоб­ка 2020 пра­вая круг­лая скоб­ка пра­вая круг­лая скоб­ка в квад­ра­те плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2017 пра­вая круг­лая скоб­ка минус 15= 2 в сте­пе­ни левая круг­лая скоб­ка 4040 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2017 пра­вая круг­лая скоб­ка минус 2 в сте­пе­ни 4 плюс 2 в сте­пе­ни 0 .

Число 24040 в дво­ич­ной за­пи­си за­пи­сы­ва­ет­ся как еди­ни­ца и 4040 нулей. До­ба­вив число 22017, по­лу­ча­ем 100...00100...000 (еди­ни­ца, 2022 нулей, еди­ни­ца, 2017 нулей, всего 4041 раз­ряд­ных цифр). Если вы­честь из этого числа 24  =  100002 и при­ба­вить 20, то число при­мет вид 100...001...10001. В по­лу­чен­ном числе еди­ни­ца, 2023 нуля, 2013 еди­ниц, три нуля и одна еди­ни­ца. Зна­чит, всего в числе 2015 еди­ниц.

 

Ответ: 2015.

 

При­ведём дру­гое ре­ше­ние на языке Python.

x = 4**2020 + 2**2017 - 15

s = ''

while x != 0:

s += str(x % 2)

x //= 2

s = s[::-1]

print(s.count("1"))

 

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

print(bin(4**2020+2**2017-15)[2:].count('1'))


Аналоги к заданию № 7761: 7460 7788 8104 ... Все

Раздел кодификатора ФИПИ: 1.4.1 По­зи­ци­он­ные си­сте­мы счис­ле­ния