Тема 14. Системы счисления

14.01 Арифметические выражения

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела системы счисления
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 81#29743Максимум баллов за задание: 1

Сколько значащих нулей содержится в двоичной записи значения выражения: 27 + 24 − 9  ?

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в двоичной записи числа сначала вычисляем значение выражения. Затем переводим результат в двоичную систему с помощью функции bin(). Префикс 0b, который добавляет bin(), убираем срезом [2:]. После этого с помощью метода count() подсчитываем количество символов ’0’ в полученной двоичной строке и выводим результат.

# Исходное выражение
s = 2**7 + 2**4 - 9

# Перевод числа в двоичную систему и подсчёт количества нулей
# bin(s)[2:] — преобразует число в строку двоичного представления без префикса ’0b’
print(bin(s)[2:].count(’0’))

Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 82#29749Максимум баллов за задание: 1

Сколько единиц содержится в двоичной записи значения выражения: 419 + 28 +31  ?

Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую.

# Исходное выражение
s = 4**19 + 2**8 + 31

# Строка для хранения двоичной записи числа
a = ’’

# Перевод числа из десятичной системы в двоичную
while s > 0:
    # Добавляем последнюю цифру двоичной записи в начало строки
    a = str(s % 2) + a
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    s //= 2

# Подсчёт и вывод количества единиц в двоичной записи числа
print(a.count(’1’))
\textbf{Решение руками:}

Представим все числа в виде: $2̂n$

$4̂{19} = 2̂{38}$

$31 = 2̂4 + 2̂3 + 2̂2 + 2̂1 + 2̂0$

Получим:
$$
2̂{38}+2̂8+2̂4+2̂3+2̂2+2̂1+2̂0 = 1\underbrace{000...000}_{29}100011111
$$

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

Ответ: 7

Ошибка.
Попробуйте повторить позже

Задача 83#29750Максимум баллов за задание: 1

Сколько троек содержится в пятеричной записи значения выражения: 2520 + 4⋅511 − 2  ?

Показать ответ и решение

Решение программой

Для подсчёта количества троек в 5-ричной записи числа необходимо написать алгоритм перевода исходного числа в 5-ричную систему счисления. Для перевода реализуем в программе стандартный алгоритм перевода числа из десятичной системы счисления в другую. Потом подсчитаем количество троек при помощи метода count().

# Исходное выражение
s = 25**20 + 4 * 5**11 - 2

# Строка для хранения цифр числа в 5-ричной системе
a = ’’

# Перевод числа из десятичной системы в 5-ричную
while s > 0:
    # Добавляем последнюю цифру числа в 5-ричной системе в начало строки
    a = str(s % 5) + a
    # Отбрасываем последнюю цифру (целочисленное деление на 5)
    s //= 5

# Подсчёт и вывод количества цифр ’3’ в 5-ричной записи числа
print(a.count(’3’))

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

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

2520 = 540

Получим:

 40     11
5  + 4 ⋅5   = 10◟00..◝.0◜00◞4 0◟00..◝◜.000◞
                 28       11

Вычтем:

    10...004..000
 −
-------------2--
   10◟.◝..◜0◞34◟.◝..◜4◞3
     28   10

Количество троек: 2

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 84#29751Максимум баллов за задание: 1

Сколько значащих нулей содержится в двоичной записи значения выражения: 82020 + 42017 + 26 − 1  ?

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в двоичной записи числа реализуется функция x_10_to_n(x, n), которая переводит число x из десятичной системы в систему счисления с основанием n. В функции на каждом шаге берётся остаток от деления на n (последняя цифра в новой системе), результат сохраняется в список, затем число уменьшается целочисленным делением на n. После завершения цикла цифры переворачиваются, чтобы получить правильный порядок записи.

Таким образом, вызов x_10_to_n(s, 2) формирует список цифр двоичной записи числа s. С помощью метода count(0) подсчитывается количество нулей в этом списке, и результат выводится на экран.

# Функция для перевода числа x из десятичной системы в систему счисления с основанием n
def x_10_to_n(x, n):
    digits = []  # список для хранения цифр числа в новой системе
    while x > 0:
        # Добавляем остаток от деления на n (цифру в системе счисления с основанием n)
        digits.append(x % n)
        # Отбрасываем последнюю цифру (целочисленное деление на n)
        x //= n
    # Разворачиваем список, чтобы цифры шли от старшей к младшей
    digits.reverse()
    return digits

# Исходное выражение
s = 8**2020 + 4**2017 + 26 - 1

# Перевод числа s в двоичную систему и подсчёт количества нулей
print(x_10_to_n(s, 2).count(0))

Ответ: 6056

Ошибка.
Попробуйте повторить позже

Задача 85#30410Максимум баллов за задание: 1

Сколько единиц содержится в двоичной записи значения выражения: 25 + 25 + 22  ?

Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в двоичную. На каждом шаге берём последнюю цифру числа (остаток от деления на 2) и проверяем, равна ли она 1. Если да — увеличиваем счётчик. После этого отбрасываем последнюю цифру целочисленным делением на 2. В конце выводим общее количество единиц.

# Исходное выражение
a = 2**5 + 2**5 + 2**2

# Переменная для подсчёта количества единиц в двоичной записи числа
c = 0

# Перевод числа в двоичную систему и подсчёт единиц
while a > 0:
    # Если последняя цифра числа в двоичной системе равна 1, увеличиваем счётчик
    if a % 2 == 1:
        c += 1
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    a //= 2

# Вывод количества единиц в двоичной записи числа
print(c)

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

Немного преобразовав выражение, переведём числа в выражении в двоичную систему счисления.

 5   5   2    6   2
2 + 2 + 2  = 2 + 2 = 10000002 + 1002 = 10001002

Следовательно, ответ 2.

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 86#30416Максимум баллов за задание: 1

Сколько значащих нулей содержится в двоичной записи значения выражения: 27 + 24 − 9  ?

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в двоичной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в двоичную. На каждом шаге берём последнюю цифру числа (остаток от деления на 2) и проверяем, равна ли она 0. Если да — увеличиваем счётчик. После этого отбрасываем последнюю цифру целочисленным делением на 2. В конце выводим общее количество нулей.

# Исходное выражение
a = 2**7 + 2**4 - 9

# Переменная для подсчёта количества нулей в двоичной записи числа
c = 0

# Перевод числа в двоичную систему и подсчёт нулей
while a > 0:
    # Если последняя цифра числа в двоичной системе равна 0, увеличиваем счётчик
    if a % 2 == 0:
        c += 1
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    a //= 2

# Вывод количества нулей в двоичной записи числа
print(c)

Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 87#30422Максимум баллов за задание: 1

Сколько единиц содержится в двоичной записи значения выражения: 419 + 28 +31  ?

Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в двоичную. На каждом шаге берём последнюю цифру числа (остаток от деления на 2) и проверяем, равна ли она 1. Если да — увеличиваем счётчик. После этого отбрасываем последнюю цифру целочисленным делением на 2. В конце выводим общее количество единиц.

# Исходное выражение
a = 4**19 + 2**8 + 31

# Переменная для подсчёта количества единиц в двоичной записи числа
c = 0

# Перевод числа в двоичную систему и подсчёт единиц
while a > 0:
    # Если последняя цифра числа в двоичной системе равна 1, увеличиваем счётчик
    if a % 2 == 1:
        c += 1
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    a //= 2

# Вывод количества единиц в двоичной записи числа
print(c)

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

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

 19   38
4  = 2

31 = 24 + 23 + 22 + 21 + 20

Получим:

238 + 28 +24 + 23 + 22 + 21 + 20 = 1 000...000100011111
                                ◟ ◝◜29  ◞

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

Ответ: 7

Ошибка.
Попробуйте повторить позже

Задача 88#30423Максимум баллов за задание: 1

Сколько троек содержится в пятеричной записи значения выражения: 2520 + 4⋅511 − 2  ?

Показать ответ и решение

Решение программой

Для подсчёта количества цифр 3 в 5-ричной записи числа реализуется функция x_10_to_n(x, n), которая переводит число x из десятичной системы в систему счисления с основанием n. В функции на каждом шаге берётся остаток от деления на n (последняя цифра в новой системе) и добавляется в список digits, после чего число уменьшается целочисленным делением на n. После завершения цикла список переворачивается, чтобы цифры шли в правильном порядке.

Вызов x_10_to_n(s, 5) формирует список цифр 5-ричной записи числа s. С помощью метода count(3) подсчитывается количество цифр 3 в этом списке, и результат выводится на экран.

# Функция для перевода числа x из десятичной системы в систему счисления с основанием n
def x_10_to_n(x, n):
    digits = []  # список для хранения цифр числа в новой системе
    while x > 0:
        # Добавляем остаток от деления на n (цифру в системе счисления с основанием n)
        digits.append(x % n)
        # Отбрасываем последнюю цифру (целочисленное деление на n)
        x //= n
    # Разворачиваем список, чтобы цифры шли от старшей к младшей
    digits.reverse()
    return digits

# Исходное выражение
s = 25**20 + 4 * 5**11 - 2

# Перевод числа s в 5-ричную систему и подсчёт количества цифр ’3’
print(x_10_to_n(s, 5).count(3))

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

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

2520 = 540

Получим:

540 + 4 ⋅511 = 1000...0004 000...000
              ◟  ◝2◜8 ◞  ◟  ◝◜11  ◞

Вычтем:

    10...004..000
 −
-------------2--
   10◟.◝..◜0◞35◟.◝..◜5◞3
     28   10

Количество троек: 2

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 89#30424Максимум баллов за задание: 1

Сколько значащих нулей содержится в двоичной записи значения выражения: 82020 + 42017 + 26 − 1  ?

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в двоичной записи числа реализуется функция x_10_to_n(x, n), которая переводит число x из десятичной системы в систему счисления с основанием n. В функции на каждом шаге берётся остаток от деления на n (последняя цифра в новой системе) и добавляется в список digits, после чего число уменьшается целочисленным делением на n. После завершения цикла список переворачивается, чтобы цифры шли в правильном порядке.

Вызов x_10_to_n(s, 2) формирует список цифр двоичной записи числа s. С помощью метода count(0) подсчитывается количество нулей в этом списке, и результат выводится на экран.

# Функция для перевода числа x из десятичной системы в систему счисления с основанием n
def x_10_to_n(x, n):
    digits = []  # список для хранения цифр числа в новой системе
    while x > 0:
        # Добавляем остаток от деления на n (цифру в системе счисления с основанием n)
        digits.append(x % n)
        # Отбрасываем последнюю цифру (целочисленное деление на n)
        x //= n
    # Разворачиваем список, чтобы цифры шли от старшей к младшей
    digits.reverse()
    return digits

# Исходное выражение
s = 8**2020 + 4**2017 + 26 - 1

# Перевод числа s в двоичную систему и подсчёт количества нулей
print(x_10_to_n(s, 2).count(0))

Ответ: 6056

Ошибка.
Попробуйте повторить позже

Задача 90#33603Максимум баллов за задание: 1

Значение выражения

6 ⋅31520 + 9321 + 3407 − 2022

записали в системе счисления с основанием 27  . Определите количество значащих нулей в записи этого числа.

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в 27-ричной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в систему с основанием 27. На каждом шаге берём последнюю цифру числа (остаток от деления на 27) и проверяем, равна ли она 0. Если да — увеличиваем счётчик. После этого отбрасываем последнюю цифру целочисленным делением на 27. В конце переменная c содержит общее количество нулей в 27-ричной записи числа, и результат выводится на экран.

# Исходное выражение
k = 6 * 3 ** 1520 + 9 ** 321 + 3 ** 407 - 2022

# Переменная для подсчёта количества цифр ’0’ в 27-ричной системе
c = 0

# Перевод числа из десятичной системы в 27-ричную и подсчёт цифр ’0’
while k > 0:
    # Если последняя цифра числа в 27-ричной системе равна 0, увеличиваем счётчик
    if k % 27 == 0:
        c += 1
    # Отбрасываем последнюю цифру (целочисленное деление на 27)
    k //= 27

# Вывод количества цифр ’0’ в 27-ричной записи числа
print(c)

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

Первым шагом необходмо преобразовать выражение так, чтобы в степень возводилось число 27:

    507    214       135       2       1       0
2⋅27   + 27   + 9⋅27   − 2 ⋅27 − 20⋅27 − 24 ⋅27

Переведем в систему счисления с основанием 27  и получим:

20◟00.◝..◜000◞+1 0◟00..◝◜.000◞+9 0◟00.◝..◜000◞− 200− k0 − o
    507        214        135

    2 000...0001 000...0009000...000
   -  ◟ 2◝◜92 ◞  ◟ ◝◜78  ◞ ◟  ◝1◜35 ◞
                            2ko
----------------------------------
  20◟00..◝◜.000◞1 0◟00◝..◜.000◞8 qq◟q.◝..◜qqq◞o63
     292       78       132
Ответ: 370

Ошибка.
Попробуйте повторить позже

Задача 91#36469Максимум баллов за задание: 1

Сколько единиц в двоичной записи выражения 22023 + 22022 − 21000  ?

Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа реализуется стандартный алгоритм перевода числа из десятичной системы в двоичную. На каждом шаге берётся остаток от деления числа на 2 (последняя двоичная цифра) и добавляется в начало строки res, чтобы сохранить правильный порядок цифр. После этого число уменьшается целочисленным делением на 2. В конце с помощью метода count() подсчитывается количество единиц в сформированной двоичной строке, и результат выводится на экран.

# Исходное выражение
n = 2 ** 2023 + 2 ** 2022 - 2 ** 1000

# Строка для хранения двоичной записи числа
res = ’’

# Перевод числа из десятичной системы в двоичную
while n != 0:
    # Добавляем последнюю цифру двоичной записи в начало строки
    res = str(n % 2) + res
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    n //= 2

# Подсчёт и вывод количества единиц в двоичной записи числа
print(res.count(’1’))

Ответ: 1023

Ошибка.
Попробуйте повторить позже

Задача 92#40845Максимум баллов за задание: 1

Напишите программу, которая находит количество троек в 7  -ричной записи числа N  = 21000 + 2123 − 2812 +845  . В ответе напишите искомое значение.

Показать ответ и решение

Решение программой

Для подсчёта количества цифр 3 в 7-ричной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в 7-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 7) и проверяется, равна ли она 3. Если да — увеличиваем счётчик ans. После этого число уменьшается целочисленным делением на 7.В конце переменная ans содержит общее количество цифр 3 в 7-ричной записи числа, и результат выводится на экран.

# Исходное выражение
n = 2 ** 1000 + 2 ** 123 - 2 ** 812 + 845

# Переменная для подсчёта количества цифр ’3’ в 7-ричной системе
ans = 0

# Перевод числа из десятичной системы в 7-ричную и подсчёт цифр ’3’
while n > 0:
    # Если последняя цифра числа в 7-ричной системе равна 3, увеличиваем счётчик
    ans += (n % 7 == 3)
    # Отбрасываем последнюю цифру (целочисленное деление на 7)
    n //= 7

# Вывод количества цифр ’3’ в 7-ричной записи числа
print(ans)

Ответ: 53

Ошибка.
Попробуйте повторить позже

Задача 93#43474Максимум баллов за задание: 1

Значение выражения 367 +619 − 18 + 3⋅6−10 + 5⋅6− 14  записали в системе счисления с основанием 6. Определите, сколько цифр 0 содержится в этой записи. (В ответе учитываются только значащие нули, например, в записи 1305.004 три значащих нуля).

Показать ответ и решение

Решение программой

Чтобы найти количества нулей в 6-ричной записи числа, домножим каждое слагаемое на 6 в максимальной противоположной отрицательной степени. Далее необходимо реализовать стандартный алгоритм перевода числа из десятичной системы в 6-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 6) и добавляется в начало строки s, чтобы сохранить правильный порядок цифр. После этого число уменьшается целочисленным делением на 6. В конце с помощью метода count(’0’) подсчитывается количество нулей в сформированной 6-ричной строке, и результат выводится на экран.

# Исходное выражение, домноженное на 6 в максимальной противоположной отрицательной степени
a = (36 ** 7) * (6 ** 14) + 6 ** (19 + 14) - 18 * (6 ** 14) + \
    3 * 6 ** (-10 + 14) + 5 * 6 ** (-14 + 14)

# Строка для хранения цифр числа в 6-ричной системе
s = ’’

# Перевод числа из десятичной системы в 6-ричную
while a > 0:
    # Добавляем последнюю цифру числа в 6-ричной системе в начало строки
    s = str(a % 6) + s
    # Отбрасываем последнюю цифру (целочисленное деление на 6)
    a //= 6

# Подсчёт и вывод количества цифр ’0’ в 6-ричной записи числа
print(s.count(’0’))

Ответ: 18

Ошибка.
Попробуйте повторить позже

Задача 94#51473Максимум баллов за задание: 1

Значение арифметического выражения: 1622 ⋅48 − 44 − 64  — записали в системе счисления с основанием 4. Сколько цифр «3» содержится в этой записи?

Показать ответ и решение

Решение программой:

Для подсчёта количества цифр 3 в 4-ричной записи числа еобходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в 4-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 4) и проверяется, равна ли она 3. Если да — увеличиваем счётчик c. После этого число уменьшается целочисленным делением на 4. В конце переменная c содержит общее количество цифр 3 в 4-ричной записи числа, и результат выводится на экран.

# Исходное выражение
s = 16**22 * 4**8 - 4**4 - 64

# Переменная для подсчёта количества цифр ’3’ в 4-ричной системе
c = 0

# Перевод числа из десятичной системы в 4-ричную и подсчёт цифр ’3’
while s > 0:
    # Если последняя цифра числа в 4-ричной системе равна 3, увеличиваем счётчик
    if s % 4 == 3:
        c += 1
    # Отбрасываем последнюю цифру (целочисленное деление на 4)
    s = s // 4

# Вывод количества цифр ’3’ в 4-ричной записи числа
print(c)

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

Первым шагом необходмо преобразовать выражение так, чтобы в степень возводилось число 4:

 52   4   3
4  − 4 − 4

Переведем в систему счисления с основанием 4  и получим:

10◟00.◝..◜000◞− 10000 − 1000 = 10◟00.◝..◜000◞− 11000
    52                      52

      10◟00.◝..◜000◞
     -    52
          11000
-----------------
  3◟33.◝..◜333◞23000
     47
Ответ: 48

Ошибка.
Попробуйте повторить позже

Задача 95#51474Максимум баллов за задание: 1

Значение арифметического выражения:

  12   10
49  + 7  − 28

— записали в системе счисления с основанием 7. Сколько цифр «0» содержится в этой записи?

Показать ответ и решение

Решение программой

Для подсчёта количества нулей в 7-ричной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в 7-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 7) и добавляется в начало строки m. После этого число уменьшается целочисленным делением на 7. В конце с помощью метода count() подсчитывается количество нулей в сформированной 7-ричной строке, и результат выводится на экран.

# Исходное выражение
s = 49**12 + 7**10 - 28

# Строка для хранения цифр числа в 7-ричной системе
m = ’’

# Перевод числа из десятичной системы в 7-ричную
while s > 0:
    # Добавляем последнюю цифру числа в 7-ричной системе в начало строки
    m = str(s % 7) + m
    # Отбрасываем последнюю цифру (целочисленное деление на 7)
    s = s // 7

# Подсчёт и вывод количества цифр ’0’ в 7-ричной записи числа
print(m.count(’0’))

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

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

4912 = 724

28 = 4⋅7 = 40

Получим: 724 + 710 = 10◟.◝..◜0◞1 0.◟◝.◜.0◞
            13   10

Вычтем:

 − 10...001..000
------------40---
   10...0 7...7 30
    ◟◝1◜4◞◟◝◜8◞

Количество нулей: 14+ 1 = 15

Ответ: 15

Ошибка.
Попробуйте повторить позже

Задача 96#51475Максимум баллов за задание: 1

Значение выражения 6 ⋅3436 + 5⋅497 − 40  записали в системе счисления с основанием 7. Сколько цифр «6» содержится в этой записи?

Показать ответ и решение

Решение программой

Для подсчёта количества цифр 6 в 7-ричной записи числа необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в 7-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 7) и добавляется в начало строки m. После этого число уменьшается целочисленным делением на 7. В конце с помощью метода count() подсчитывается количество цифр 6 в сформированной 7-ричной строке, и результат выводится на экран.

# Исходное выражение
s = 6 * 343**6 + 5 * 49**7 - 40

# Строка для хранения цифр числа в 7-ричной системе
m = ’’

# Перевод числа из десятичной системы в 7-ричную
while s > 0:
    # Добавляем последнюю цифру числа в 7-ричной системе в начало строки
    m = str(s % 7) + m
    # Отбрасываем последнюю цифру (целочисленное деление на 7)
    s = s // 7

# Подсчёт и вывод количества цифр ’6’ в 7-ричной записи числа
print(m.count(’6’))

Ответ: 13

Ошибка.
Попробуйте повторить позже

Задача 97#51476Максимум баллов за задание: 1

Сколько единиц в двоичной записи числа 42023 + 8200 − 250 − 26  ?

Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа сначала вычисляем значение выражения. Затем переводим число в двоичную систему с помощью функции bin(). Префикс 0b, который добавляет bin(), отбрасываем срезом [2:]. После этого с помощью метода count() подсчитываем количество единиц в двоичной строке и выводим результат.

# Исходное выражение
s = 4**2023 + 8**200 - 2**50 - 26

# Перевод числа в двоичную систему и подсчёт количества единиц
# bin(s)[2:] — преобразует число в строку двоичного представления без префикса ’0b’
print(bin(s)[2:].count(’1’))

Ответ: 597

Ошибка.
Попробуйте повторить позже

Задача 98#53434Максимум баллов за задание: 1

Сколько единиц содержится в двоичной записи значения выражения

161010 + 42017 − 290
Показать ответ и решение

Решение программой

Для подсчёта количества единиц в двоичной записи числа реализуется стандартный алгоритм перевода числа из десятичной системы в двоичную. На каждом шаге берётся остаток от деления числа на 2 (последняя двоичная цифра) и добавляется в конец строки s. После этого число уменьшается целочисленным делением на 2. В конце с помощью метода count() подсчитывается количество единиц в сформированной двоичной строке, и результат выводится на экран.

# Исходное выражение
x = 16**1010 + 4**2017 - 2**90

# Строка для хранения двоичной записи числа (цифры добавляются в обратном порядке)
s = ’’

# Перевод числа из десятичной системы в двоичную
while x != 0:
    # Добавляем последнюю цифру двоичной записи к строке
    s += str(x % 2)
    # Отбрасываем последнюю цифру (целочисленное деление на 2)
    x //= 2

# Подсчёт и вывод количества единиц в двоичной записи числа
print(s.count("1"))

Ответ: 3945

Ошибка.
Попробуйте повторить позже

Задача 99#54399Максимум баллов за задание: 1

Значение арифметического выражения: 4⋅254 − 54 + 14  записали в системе счисления с основанием 5. Какова сумма цифр содержащихся в этой записи? Ответ укажите в десятичной системе.

Показать ответ и решение

Решение программой

Для подсчёта суммы цифр числа в 5-ричной системе необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в 5-ричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 5) и добавляется к счётчику r. После этого число уменьшается целочисленным делением на 5. В конце переменная r содержит сумму всех цифр числа в 5-ричной записи, и результат выводится на экран.

# Исходное выражение
s = 4 * 25**4 - 5**4 + 14

# Переменная для подсчёта суммы цифр числа в 5-ричной системе
r = 0

# Перевод числа из десятичной системы в 5-ричную и подсчёт суммы цифр
while s > 0:
    # Прибавляем последнюю цифру числа в 5-ричной системе (остаток от деления на 5)
    r += s % 5
    # Отбрасываем последнюю цифру (целочисленное деление на 5)
    s = s // 5

# Вывод суммы цифр числа в 5-ричной системе
print(r)

Ответ: 25

Ошибка.
Попробуйте повторить позже

Задача 100#54400Максимум баллов за задание: 1

Значение выражения

 345   65   130   123   89   45
(2   + 8  − 4  )(8  − 2  + 4  )

записали в восьмеричной системе счисления. Найдите сумму всех разрядов восьмеричной записи этого числа и запишите её в ответе в десятичной системе счисления.

Показать ответ и решение

Решение программой

Для подсчёта суммы цифр числа в 8-ричной системе необходимо сначала реализовать стандартный алгоритм перевода числа из десятичной системы в восьмеричную. На каждом шаге берётся последняя цифра числа (остаток от деления на 8) и добавляется к счётчику sm. После этого число уменьшается целочисленным делением на 8. В конце переменная sm содержит сумму всех цифр числа в 8-ричной записи, и результат выводится на экран.

# Исходное выражение
s = (2**345 + 8**65 - 4**130) * (8**123 - 2**89 + 4**45)

# Переменная для подсчёта суммы цифр числа в 8-ричной системе
sm = 0

# Перевод числа из десятичной системы в 8-ричную и подсчёт суммы цифр
while s > 0:
    # Прибавляем последнюю цифру числа в 8-ричной системе (остаток от деления на 8)
    sm += s % 8
    # Отбрасываем последнюю цифру (целочисленное деление на 8)
    s //= 8

# Вывод суммы цифр числа в 8-ричной системе
print(sm)

Ответ: 403
Рулетка
Вы можете получить скидку в рулетке!