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

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

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

Ре­ше­ние.

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

4 в сте­пе­ни левая круг­лая скоб­ка 2013 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2012 пра­вая круг­лая скоб­ка минус 16 = левая круг­лая скоб­ка 2 в сте­пе­ни левая круг­лая скоб­ка 2013 пра­вая круг­лая скоб­ка пра­вая круг­лая скоб­ка в квад­ра­те плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2012 пра­вая круг­лая скоб­ка минус 2 в сте­пе­ни 4 = 2 в сте­пе­ни левая круг­лая скоб­ка 4026 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2012 пра­вая круг­лая скоб­ка минус 2 в сте­пе­ни 4 .

Число 24026 в дво­ич­ной за­пи­си за­пи­сы­ва­ет­ся как еди­ни­ца и 4026 нулей. До­ба­вив число 22012, по­лу­ча­ем 100...00100...000 (еди­ни­ца, 2013 нулей, еди­ни­ца, 2012 нулей, всего 4027 раз­ряд­ных цифр). Если вы­честь из этого числа 24  =  1 00002, то число при­мет вид 100...001...10000. В по­лу­чен­ном числе еди­ни­ца, 2014 нулей, 2008 еди­ниц и че­ты­ре нуля. Зна­чит, всего в числе 2009 еди­ниц.

 

Ответ: 2009.

 

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

x = 4**2013 + 2**2012 - 16

s = ''

while x != 0:

s += str(x % 2)

x //= 2

s = s[::-1]

print(s.count("1"))

 

При­ведём ре­ше­ние Ва­ди­ма Зло­би­на на языке Python.

s = 4**2013 + 2**2012 - 16

n = bin(s)[2:]

print(n.count('1'))


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

Источник: ЕГЭ по ин­фор­ма­ти­ке 23.03.2016. До­сроч­ная волна
Раздел кодификатора ФИПИ: 1.4.1 По­зи­ци­он­ные си­сте­мы счис­ле­ния