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

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

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

Ре­ше­ние.

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

4 в сте­пе­ни левая круг­лая скоб­ка 2018 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2018 пра­вая круг­лая скоб­ка минус 32 = левая круг­лая скоб­ка 2 в сте­пе­ни левая круг­лая скоб­ка 2018 пра­вая круг­лая скоб­ка пра­вая круг­лая скоб­ка в квад­ра­те плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2018 пра­вая круг­лая скоб­ка минус 2 в сте­пе­ни 5 = 2 в сте­пе­ни левая круг­лая скоб­ка 4036 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2018 пра­вая круг­лая скоб­ка минус 2 в сте­пе­ни 5 .

Число 24036 в дво­ич­ной за­пи­си за­пи­сы­ва­ет­ся как еди­ни­ца и 4036 нулей. До­ба­вив число 22018, по­лу­ча­ем 100...00100...000 (еди­ни­ца, 2017 нулей, еди­ни­ца, 2018 нулей, всего 4037 раз­ряд­ных цифр). Если вы­честь из этого числа 25  =  1000002, то число при­мет вид 100...001...100000. В по­лу­чен­ном числе еди­ни­ца, 2018 нулей, 2013 еди­ниц и пять нулей. Зна­чит, всего в числе 2014 еди­ниц.

 

Ответ: 2014.

 

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

N = 4**2018+2**2018-32

c = 0

while N != 0:

r = N%2

N = N//2

if r == 1:

c+=1

print(c)

 

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

x = 4**2018 + 2**2018 - 32

s = ''

while x != 0:

s += str(x % 2)

x //= 2

s = s[::-1]

print(s.count("1"))


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

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