Задача к ЕГЭ по информатике на тему «арифметические выражения» №4

Сколько единиц в двочиной записи числа 21024 + 45 + 2?

Решение Python:

# Способ 1
a = bin(2**1024 + 4**5 + 2)[2:]
print(a.count(’1’))

# Способ 2

a = 2**1024 + 4**5 + 2
# Перевод выражения в 2сс
s = ’’
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))

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

Для начала стоить отметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:           --n -- An   = 1 ◜00.◞..◟00◝0    10            A
Так как нас просят узнать количество единиц в двоичной системе, представим все числа как степени двойки, получим: 21024 + 45 + 2 = 21024 + (22)5 + 21 = 21024 + 210 + 21.  В двоичной системе счисления эта запись выглядит так:   ◜-10◞2◟4-◝    ◜-1◞0◟-◝ 1 000...000 +1 0...000 +10.
Далее выполняем сложение и наглядно получаем ответ:

    10...000..0000...000  +          1000...000 --------------------10--    1 0...000 10...000 10      ◟1◝0◜13◞  ◟-◝◜8-◞
Ответ: 3
Оцените статью
Я решу все!