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

Сколько единиц содержится в восьмеричной записи значения выражения: 810 + 29 + 648 +117?

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

Представим все числа в виде 8n

29 = (23)3 = 83

  8   16 64 = 8

117 = 82 + 6⋅81 + 5⋅80

Получаем:

 16   10   3   2     1 8  + 8  + 8 + 8 + 6 ⋅8  + 5 = 10◟0.◝.0◜0 ◞ 10◟0..◝.0◜0 ◞ 1165                                5      6

Количество единиц: 4

Решение Python:

# Способ 1
a = 8**10 + 2**9 + 64**8 + 117
c = 0
while a > 0:
    if a % 8 == 1:
        c += 1
    a //= 8
print(c)


# Способ 2
a = oct(8**10 + 2**9 + 64**8 + 117)[2:]
print(a.count(’1’))

Ответ: 4
Оцените статью
Я решу все!