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

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

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

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

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

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

  345    65   130  123   89   45
(2   + 8  − 4  )(8   − 2  + 4 )
записали в восьмеричной системе счисления. Найдите сумму всех разрядов восьмеричной записи этого числа и запишите её в ответе в десятичной системе счисления.
Показать ответ и решение

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

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

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

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

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

# Вывод суммы цифр в 8-ричной записи числа
print(summa)

Ответ: 403

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

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

Сколько единиц в двоичной записи числа 42015 + 8405 − 2150 − 122

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

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

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

# Способ 1
# Исходное выражение
a = 4**2015 + 8**405 - 2**150 - 122

# Переменная для хранения числа в двоичной системе в виде строки
s = ’’

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

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

# Способ 2
# Прямое преобразование числа в двоичную строку с помощью bin()
a = bin(4**2015 + 8**405 - 2**150 - 122)[2:]

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

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

Каждое из чисел либо приведем к виду  k
2  . После чего внутри двоичной сс выполним все арифметические операции и получим ответ.

42015 + 8405 − 2150 − 122 = 24030 + 21215 − 2250 − 27 + 22 + 21.

В результате сложения первых двух чисел получаем число, в котором 4031 цифра, первая цифра слева - единица и 1216 цифра справа - единица, остальные - нули. Вычтем число, в котором 151 цифра: 1 единица слева и 150 нулей, заняв из 1216 разряда.

    100...0100...00000...000
   -               100...000
    ------------------------
    100...0011...11000...000

Таким образом 1216 разряд заменится на 0, цифры от 1216 до 151 разряда заменятся на единицу, в 151 разряде произойдет вычитание и останется ноль, остальные цифры останутся неизменны. Вычтем число, в котором 8 цифр: 1 единица слева и 7 нулей, заняв из 151 разряда.

    100...0011...11000...000000000
   -                      10000000
    ------------------------------
    100...0011...10111...100000000

Таким образом 151 разряд заменится на 0, цифры от 151 до 8 разряда заменятся на единицу, в 8 разряде произойдет вычитание и останется 0, остальные цифры останутся неизменны. Выполним операцию сложения, зная, что 22 = 1002,21 = 102  .

    100...0011...10111...100000000
   +                           110
    ------------------------------
    100...0011...10111...100000110

Тогда единицы будут от 1216 разряда до 151 разряда невключительно (1065 единиц), от 150 до 8 разряда невключительно (142 единицы), одна в начале числа и две в конце - суммарно 1210 единиц.

Ответ: 1210

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

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

Значение выражения 4103 + 3 ⋅4444 − 2⋅444 + 128  записали в системе счисления с основанием 4. Сколько цифр 3 содержится в этой записи?

Используйте отказ от if для решения задачи.

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

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

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

# Исходное выражение
num = 4**103 + 3*4**444 - 2*4**44 + 128

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

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

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

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

Каждое из чисел либо приведем к виду 4k  и упорядочим по убыванию степеней. После чего внутри четверичной сс выполним все арифметические операции и получим ответ.

 103     444      44           444    103      44      3
4   + 3∗ 4  − 2 ∗4  + 128 = 3 ∗4  + 4  − 2 ∗4  + 2∗ 4

В результате сложения первых двух членов получаем число из 445 цифр, в котором первая слева цифра - тройка, 104 справа цифра - единица, остальные - нули. Чтобы вычесть число, в котором 45 цифр, из которых первая слева - двойка, а остальные нули, займем из 104 разряда.

    300...01000...000...00000
   -               20...00000
    -------------------------
    300...00333...320...00000

Таким образом, 104 разряд справа превратиться в 0, цифры от 104 до 45 разряда станут тройками, в 45 разряде произойдет вычитание и получится двойка. Остальные цифры останутся неизменными. Произведем сложение последнего члена, зная, что 2∗ 43 = 20004

    300...00333...320...00000
   +                     2000
    -------------------------
    300...00333...320...02000

Итого цифра 3 стоит в первом разряде слева, и от 103 до 45 разряда невключительно справа (58 цифр) Тогда получаем ответ: 59 троек.

Ответ: 59

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

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

Сколько единиц в двоичной записи числа 42014 + 22015 − 8

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

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

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

# Исходное выражение
k = 4**2014 + 2**2015 - 8

# Переменная для хранения числа в двоичной системе в виде строки
s = ’’

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

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

Ответ: 2013

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

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

Значение арифметического выражения: 2564 + 1288 + 6416 − 3232 − 1664 − 8128 + 4256  – записали в системе счисления с основанием 2  . Сколько цифр 1  содержится в этой записи?

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

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

Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм деления числа на основание системы счисления (в данном случае на 2) с сохранением остатков. Каждый остаток соответствует одной цифре двоичной записи числа. Чтобы посчитать количество единиц, на каждом шаге проверяем остаток: если он равен 1, увеличиваем счётчик. Таким образом, после полного разложения числа в двоичной системе счисления в счётчике будет содержаться количество единиц в его двоичной записи.

# Исходное выражение
k = 256**4 + 128**8 + 64**16 - 32**32 - 16**64 - 8**128 + 4**256

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

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

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

Ответ: 353

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

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

Сколько четверок содержится в пятеричной записи числа 514 + 253 − 117?

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

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

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

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

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

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

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

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

Каждое из чисел приведем к виду 5k  . После чего внутри пятеричной сс выполним все арифметические операции и получим ответ.

 14    3        14   6   3    1
5  + 25 − 117 = 5 + 5  − 5 + 5 + 3

В результате сложения первых двух членов получаем число из 15 цифр, в котором одна единица на первом разряде слева и одна единица на 7 разряде справа, остальные цифры - нули. Чтобы вычесть число, в котором 4 цифры (1 единица слева и 3 нуля), займем из 7 разряда:

    1000000001000000
   -            1000
    ----------------
    1000000000444000

Таким образом 7 разряд заменяется на 0, цифры с 6 по 4 разряд заменяются на четверки, в 4 разряде происходит вычитание и остается 4. Остальные цифры неизменны. Выполним сложение, зная, что 51 = 105,3 = 35  .

    1000000000444000
   +              13
    ----------------
    1000000000444013

Итого 3 четверки.

Ответ: 3

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

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

Сколько значащих нулей в двоичной записи числа

 512   512    128
4   + 8   − 2  − 250
Показать ответ и решение

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

Для подсчёта количества единиц в двоичной записи числа необходимо написать алгоритм перевода исходного числа в двоичную систему счисления. Для перевода реализуем в программе стандартный алгоритм деления числа на основание системы счисления (в данном случае на 2) с сохранением остатков. Каждый остаток соответствует одной цифре двоичной записи числа. Чтобы посчитать количество нулей, на каждом шаге проверяем остаток: если он равен 0, увеличиваем счётчик. Таким образом, после полного разложения числа в двоичной системе счисления в счётчике будет содержаться количество нулей в его двоичной записи.

# Исходное выражение
a = 4**512 + 8**512 - 2**128 - 250

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

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

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

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

Каждое из чисел приведем к виду 2k  . После чего внутри двоичной сс выполним все арифметические операции и получим ответ.

 512   512   128        1024   1536   128   8   2   1
4   + 8   − 2  − 250 = 2   + 2   − 2   − 2 + 2 + 2  =

В результате сложения первых двух членов получим число, состоящее из 1537 цифр, в котором первая цифра слева - единица, 1025 цифра справа - единица, а остальные цифры - нули. Чтобы вычесть число, представляющее собой одну единицу и 128 нулей, займем из 1025 разряда:

    100...010...0000...000
   -              10...000
    ----------------------
    100...001...1110...000

Таким образом, 1025 справа цифра станет нулем, цифры от 1025 до 129 разряда станут единицами, в 129 разряде произойдет вычитание и останется 1. Остальные цифры будут неизменны. Чтобы вычесть число, представляющее собой одну единицу и 8 нулей, займем из 129 разряда:

    100...001...1110...0000000000
   -                    100000000
    -----------------------------
    100...001...1101...1100000000

Таким образом, 130 справа цифра станет нулем, цифры от 130 до 9 разряда станут единицами, в 9 разряде произойдет вычитание и останется 1. Остальные цифры будут неизменны. Выполним сложение, зная, что 22 = 1002,21 = 10  :

    100...001...1101...1100000000
   +                          110
    -----------------------------
    100...001...1101...1100000110

Нули стоят на позициях от 1536 до 1024 разряда справа невключительно (512 цифр), в 129 разряде (1 цифра), от 8 до 3 разряда справа невключительно (5 цифр), в последнем разряде. Суммарно: 512 + 1+ 5+ 1 = 519  .

Ответ: 519

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

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

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

    103       57
43⋅7   − 21⋅7  + 98
записали в системе счисления с основанием 7. Найдите сумму разрядов получившегося числа и запишите её в ответе в десятичной системе счисления.
Показать ответ и решение

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

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

# Исходное выражение
k = 43 * 7**103 - 21 * 7**57 + 98

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

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

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

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

Каждое из чисел приведем к виду 7k  . После чего внутри семиричной сс выполним все арифметические операции и получим ответ.

     103       57                  103         57                104   103      58     2
43∗ 7   − 21 ∗7 + 98 = (6 ∗7+ 1)∗ 7   − 3 ∗7 ∗7 + (49+ 49) = 6∗ 7 + 7   − 3∗ 7  + 2∗7

В результате сложения первых двух членов, получаем число из 105 цифр, в котором первая цифра слева - 6, вторая цифра слева - единица, а остальные цифры нули. Чтобы вычесть число, представляющее собой 3 и 58 нулей, займем из второго слева разряда:

    6100...000...000
   -        30...000
    ----------------
    6066...640...000

Тогда вторая цифра слева становится нулем, цифры до 59 разряда (считая справа) становятся 6, а в 59 разряде происходит вычитание и остается 4. Остальные цифры неизменны. Выполним сложение, зная, что 2 ∗72 = 2007  :

    6066...640...000
   +             200
    ----------------
    6066...640...200

Получаем число, в котором одна четверка, одна двойка, а шестерки расположены от 103 разряда справа до 59 разряда справа невключительно (44 цифры) и на первом разряде. Их сумма: 4+ 2 + 6∗45 = 276

Ответ: 276

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

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

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

(66+ 62019) ⋅62019 + 66+ 66

записали в системе счисления с основанием 6  . Укажите сумму цифр этой записи.

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

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

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

# Исходное выражение
k = (66 + 6**2019) * 6**2019 + 66 + 6**6

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

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

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

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

Каждое из чисел приведем к виду 6k  . После чего внутри шестеричной сс выполним все арифметические операции и получим ответ.

      2019    2019       6          2019    2019  2019          6           2020   4038              6      2020   2021   4038          2   6
(66+ 6   )∗ 6   + 66+ 6  = 6∗11 ∗6    + 6   ∗6    + 6∗ 11+ 6 = (5+ 6)∗ 6   + 6    + (5 + 6)∗6+ 6  = 5∗6    + 6   + 6    + 5∗6 + 6 + 6

Вспомним факт, что основание сс в степени n в десятичной сс = единица и n нулей в указанной сс. Так, например, 64038 = 1000...000
 10            6  - число с 4038 нулями. Множитель перед основанием сс в степени n влияет на первую цифру в записи.

Таким образом получаем число, в котором две пятерки (в разряде 2020 и 1 считая справа), четыре единицы (в разрядах 4038, 2021, 6, 2 считая справа), остальные цифры - нули. Сумма цифр = 14.

Ответ: 14

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

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

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

7 ⋅656146 + 8⋅72915 − 6⋅5832

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

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

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

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

# Исходное выражение
n = 7 * 6561 ** 46 + 8 * 729 ** 15 - 6 * 5832

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

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

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

Ответ: 2

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

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

Значение арифметического выражения: 6410 + 290 − 16  записали в системе счисления с основанием 8. Сколько цифр «7» содержится в этой записи?

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

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

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

# Исходное выражение
k = 64**10 + 2**90 - 16

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

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

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

Ответ: 18

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

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

Дано арифметическое выражение: 930 + 9x − 96  . Найдите такой x  (6 < x < 30)  , чтобы количество нулей в записи числа в системе счисления с основанием 9  равнялось 12  .

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

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

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

# Перебор значений x от 7 до 29 включительно
for x in range(7, 30):
    # Исходное выражение для текущего x
    n = 9**30 + 9**x - 9**6

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

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

    # Если количество нулей равно 12, выводим текущее значение x
    if counter == 12:
        print(x)

Ответ: 24

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

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

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

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

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

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

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

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

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

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

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

Каждое из чисел приведем к виду 5k  . После чего внутри пятиричной сс выполним все арифметические операции и получим ответ.

  20      11       40      11
25  + 4∗ 5  − 2 = 5 + 4∗ 5  − 2  .

После сложения первых двух членов получим число из 41 цифры, в котором первая слева цифра - единица, а двенадцатая справа цифра - 4. Чтобы вычесть 2 займем из двенадцатого разряда:

    100...040000000000000
   -                    2
    ---------------------
    100...034444444444443

Таким образом, двенадцатый разряд уменьшится на 1, цифры от 12 до 2 справа разяда станут четверками, в последнем разряде произойдет вычитание и останется тройка. Итого в числе - 2 тройки.

Ответ: 2

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

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

Значение выражения 211 + 4 ⋅31111 + 111  записали в системе счисления с основанием 2  . Найдите сумму цифр получившегося числа и запишите её в ответе в десятичной системе счисления.

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

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

Для подсчёта суммы цифр числа, полученного из двоичной записи выражения, необходимо сначала перевести число в двоичную систему счисления. Сделать это можно с помощью функции bin(). Далее преобразуем строку обратно в целое число. Затем реализуется стандартный алгоритм подсчёта суммы цифр: на каждом шаге берём последнюю цифру числа (остаток от деления на 10) и добавляем её к счётчику, после чего отбрасываем эту цифру целочисленным делением на 10. В конце выводим общую сумму всех цифр.

# Исходное выражение: формируем число и сразу переводим его в двоичную систему
a = int(bin(2 ** 11 + 4 * 3 ** 1111 + 111)[2:])

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

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

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

Ответ: 875

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

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

Значение выражения 497 ⋅720 − 78 − 28  записали в системе счисления с основанием 7  . Сколько цифр 6 содержится в этой записи?

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

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

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

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

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

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

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

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

Каждое из чисел приведем к виду 7k  . После чего внутри семиричной сс выполним все арифметические операции и получим ответ.

497 ∗ 720 − 78 − 28 = 714 ∗ 720 − 78 − 4∗71 = 734 − 78 − 4∗71  .

Первое число состоит из 35 цифр, первая из которых единица, а остальные нули. Чтобы вычесть число, равное одной единице и 8 нулям, займем из первого разряда:

    100...0000000000
   -       100000000
    ----------------
     66...6600000000

Так первый разряд обнуляется, а цифры после него до 9 разряда (считая справа) становятся шестерками. Выполним вычитание, зная, что 4 ∗710 = 407  .

    66...6600000000
   -             40
    ----------------
    66...6566666630

Итого шестерки расположены от первого разряда слева (34 разряд справа) до 9 разряда (считая справа) невключительно (итого 25 цифр), от 8 разряда справа до 2 разряда справа невключительно (6 цифр). Суммарно в числе 31 шестерка.

Ответ: 31

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

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

Сколько нулей содержится в двоичной записи значения выражения: 4242 + 422 + 4− 1  ?

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

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

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

# Исходное выражение
s = 42 ** 42 + 4 ** 22 + 4 - 1

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

Ответ: 128

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

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

Сколько четверок содержится в пятеричной записи числа 514 + 253 − 117?

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

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

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

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

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

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

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

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

Каждое из чисел приведем к виду 5k  . После чего внутри пятиричной сс выполним все арифметические операции и получим ответ.

 14    3        14   6   3    1
5  + 25 − 117 = 5 + 5  − 5 + 5 + 3  .

Выполнив сложение первых двух членов, получим число из 15 цифр, в котором единица стоит на первом месте слева и на седьмом месте справа. Чтобы выполнить числа, равного одной единице и трем нулям, займем из седьмого разряда:

    1000000001000000
   -            1000
    ----------------
    1000000000444000

Так седьмой разряд обнулится, цифры от шестого до четвертого разряда станут четверками, в четвертом разряде произойдет вычитание и тоже получится четверка. Остальные цифры останутся неизменны. Выполним сложение, зная, что 5110 = 105,310 = 35  .

    1000000000444000
   +              13
    ----------------
    1000000000444013

Итого в числе 3 четверки.

Ответ: 3

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

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

Сколько единиц содержится в двоичной записи значения выражения: 82022 + 22007 + 42 − 3  ?

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

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

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

# Исходное выражение
s = 8 ** 2022 + 2 ** 2007 + 42 - 3

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

Ответ: 6

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

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

Сколько единиц содержится в двоичной записи результата выражения: (2⋅108)2010 − 42011 +22012  ?

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

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

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

# Исходное выражение: преобразуем ’10’ из 8-ричной системы в десятичное, удваиваем и возводим в степень
s = (2 * int(’10’, 8)) ** 2010 - 4 ** 2011 + 2 ** 2012

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

Ответ: 4019

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

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

Решите уравнение:

14235 +10048 ⋅x+ 3567 = 20009

В ответ запишите значение x  в двоичной системе счисления.

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

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

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

# Перебор значений x от 1 до 999 включительно
for x in range(1, 1000):
    # Преобразование строк в числа из разных систем счисления в десятичные
    s1 = int(’1423’, 5)   # число ’1423’ в 5-ричной системе
    s2 = int(’1004’, 8)   # число ’1004’ в 8-ричной системе
    s3 = int(’356’, 7)    # число ’356’ в 7-ричной системе
    s4 = int(’2000’, 9)   # число ’2000’ в 9-ричной системе

    # Проверяем условие: s1 + s2 * x + s3 должно быть равно s4
    if s1 + s2 * x + s3 == s4:
        # Выводим значение x в двоичной системе (без префикса ’0b’)
        print(bin(x)[2:])

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

Переведем все известные значения в десятичную систему счисления:

14235 = 53 + 4⋅52 + 2 ⋅5+ 3 = 23810

10048 = 83 + 4 = 51610

          2
3567 = 3 ⋅7 + 5⋅7+ 6 = 18810

20009 = 2⋅93 = 145810

Перепишем уравнение:

238+ 516 ⋅x+ 188 = 1458

516 ⋅x = 1032

x = 210 = 102
Ответ: 10
Рулетка
Вы можете получить скидку в рулетке!