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

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

Задача 1#61889

По демоверсии ЕГЭ 2023.

Операнды арифметического выражения записаны в системах счисления с основаниями 7  и 5  .

5x46 + 12x1
    7      5

В записи чисел переменной x  обозначена неизвестная цифра из алфавита 5  -ричной системы счисления. Определите наибольшее значение x  , при котором значение данного арифметического выражения кратно 7  . Для найденного значения x  вычислите частное от деления значения арифметического выражения на 7  и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Показать ответ и решение
for x in range(5):
    if (int(’5’+str(x)+’46’, 7) + int(’12’+str(x)+’1’, 5)) % 7 == 0:
        print((int(’5’+str(x)+’46’, 7) + int(’12’+str(x)+’1’, 5)) // 7)

Ответ: 275

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

Задача 2#61888

Операнды арифметического выражения записаны в системе счисления с основанием 16  .

1587x9916  + 1x04816

В записи чисел переменной x обозначена неизвестная цифра из алфавита 16  -ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 13  . В ответ запишите найденное значение x (для букв — их численное значение).

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

Решение 1

for x in range(1, 15):
    if x < 10:
        n1 = ’1587’ + str(x) + ’99’
        n2 = ’1’ + str(x) + ’048’
    elif x == 10:
        n1 = ’1587A99’
        n2 = ’1A048’
    elif x == 11:
        n1 = ’1587B99’
        n2 = ’1B048’
    elif x == 12:
        n1 = ’1587C99’
        n2 = ’1C048’
    elif x == 13:
        n1 = ’1587D99’
        n2 = ’1D048’
    elif x == 14:
        n1 = ’1587E99’
        n2 = ’1E048’
    elif x == 15:
        n1 = ’1587F99’
        n2 = ’1F048’
    if (int(n1, 16) + int(n2, 16)) % 13 == 0:
        print(x)

 

Решение 2 (решение ученика Банышева М.)

c = 10**15
for x in ’0123456789abcdef’:
    t = int(’1587’+str(x)+’99’, 16)+int(’1’+str(x)+’048’, 16)
    if t % 13 == 0:
        if t < c:
            c = t
            print(x)

Ответ: 2

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

Задача 3#56480

Дано арифметическое выражение, где x  является любой цифрой от 0 до 9.

11x79320 + Bx7x320 − 111x6 + log2(2x6)10

Определите, при каком значении x  значение выражения в десятичной системе счисления получится целым. Для данного выражения определите, сколько цифр F  будет записано в шестнадцатеричной системе счисления.

Показать ответ и решение
from math import log

def to_16(x):
    alf = ’0123456789ABCDEF’
    s = ’’
    while x > 0:
        s = alf[x%16] + s
        x = x // 16
    return s

def to_10(num, i):
    num = str(num)
    i = int(i + ’6’)
    return int(num[0]) * i**2 + int(num[1]) * i + int(num[2])

for i in ’0123456789’:
    w = int(’11’ + i + ’793’, 20) + int(’B’ + i + ’7’ + i + ’3’, 20) - \
        to_10(111, i) + log(int(’2’ + i + ’6’), 2)
    if int(w) == w:
        print(to_16(int(w)).count(’F’))

Ответ: 1

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

Задача 4#56474

Значение выражения 368 + 620 − 12 + 15∕35 ⋅6−2  записали в системе счисления с основанием 6  . Сколько нулей суммарно содержится в записи? (В ответе учитываются только значащие нули, например, в записи 1307.008  три значащих нуля). Если значащих нулей бесконечно много, то запишите в ответе -1.

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

Число: 10000555555555540,00232323232323

Те есть число 10000555555555540,00(23)

Ответ: 7

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

Задача 5#56315

Операнды арифметического выражения записаны в системе счисления с основанием 16  .

1678x1216  + 1x02416

В записи чисел переменной x обозначена неизвестная цифра из алфавита 16  -ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 15  . В ответ запишите найденное значение x (для букв — их численное значение).

Показать ответ и решение
for x in range(1, 15):
    if x < 10:
        n1 = ’1678’ + str(x) + ’12’
        n2 = ’1’ + str(x) + ’024’
    elif x == 10:
        n1 = ’1678A12’
        n2 = ’1A024’
    elif x == 11:
        n1 = ’1678B12’
        n2 = ’1B024’
    elif x == 12:
        n1 = ’1678C12’
        n2 = ’1C024’
    elif x == 13:
        n1 = ’1678D12’
        n2 = ’1D024’
    elif x == 14:
        n1 = ’1678E12’
        n2 = ’1E024’
    elif x == 15:
        n1 = ’1678F12’
        n2 = ’1F024’
    if (int(n1, 16) + int(n2, 16)) % 15 == 0:
        print(x)

 

Ответ: 14

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

Задача 6#51689

Сколько значаших нулей содержится в шестнадцатеричной записи числа 109951162810610  ?

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

Решение 1

1099511628106∕16 = 68719476756  , остаток: 10  A

68719476756∕16 = 4294967297  , остаток: 4

4294967297∕16 = 268435456  , остаток: 1

268435456∕16 = 16777216  , остаток: 0

16777216∕16 = 1048576  , остаток: 0

1048576∕16 = 65536  , остаток: 0

65536∕16 = 4096  , остаток: 0

4096∕16 = 256  , остаток: 0

256∕16 = 16  , остаток: 0

16∕16 = 1  , остаток: 0

1∕16 = 0  , остаток: 1

109951162810610 = 1000000014A16

Итого: 7 нулей

Решение 2

n = 1099511628106
k = 0
while n != 0:
    if n % 16 == 0:
        k += 1
    n = n // 16
print(k)

Ответ: 7

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

Задача 7#51683

Чему будет равно число 12828310  в четверичной системе счисления? Для решения данной задачи напишите программу.

Показать ответ и решение
n = 128283
res = ’’
while n != 0:
    res = str(n % 4) + res
    n = n // 4
print(res)

Ответ: 133110123

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

Задача 8#43474

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

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

Домножим каждое слагаемое на 6  в максимальной противоположной отрицательной степени и посчитаем свободно на Python.

a = (36 ** 7) * (6 ** 14) + 6 ** (19 + 14) - 18 * (6 ** 14) + \
    3 * 6 ** (-10 + 14) + 5 * 6 ** (-14 + 14)
s = ’’
while a > 0:
    s = str(a % 6) + s
    a //= 6
print(s.count(’0’))

Решение аналитически:

PIC

Ответ: 18

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

Задача 9#40845

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

Показать ответ и решение
n = 2 ** 1000 + 2 ** 123 - 2 ** 812 + 845
ans = 0
while n > 0:
    ans += (n % 7 == 3) #если остаток деления числа n на 7 равен 3, то 1, иначе - 0
    n //= 7
print(ans)

Ответ: 53

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

Задача 10#40844

Напишите программу, которая получает на вход два числа: одно в 3CC  , другое в 5CC  и выводит количество двоек в записи суммы этих чисел в 17  -ричной системе счисления. В ответе напишите результат работы программы для чисел 120120120
         3  и 1234012340
          5  .

Показать ответ и решение
x = input()
y = input()
n = int(x, 3) + int(y, 5)
ans = 0
while n > 0:
    ans += (n % 17 == 2) # если остаток деления числа n на 17 равен 2, то 1, иначе - 0
    n //= 17
print(ans)

Ответ: 2

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

Задача 11#40843

Напишите программу, которая получает на вход строку из нулей, единиц и двоек и переводит ее из 3CC  в 10CC  . В ответе напишите результат работы программы для строки 22221110  .

Примечание: запрещено использовать функцию int(). Решите задачу используя единственный цикл.

Показать ответ и решение
s = input()
summa = 0
n = len(s)
for i in range(n):
    summa += int(s[i]) * 3 ** (n - 1 - i)
print(summa)

Ответ: 6519

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

Задача 12#40842

Напишите программу, которая получает на вход строку из нулей и единиц, содержащую 3  символа, и переводит эту строку в десятичное число из 2CC  . В ответе напишите результат работы программы для строки 010  .

Показать ответ и решение
s = input()
print(int(s[0]) * 2 ** 2 + int(s[1]) * 2 ** 1 + int(s[2]) * 2 ** 0)

Ответ: 2

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

Задача 13#40841

Напишите программу, которая получает на вход число N  , и выводит количество троек в четверичной записи данного числа. В ответ напишите результат работы программы для N = 25 + 7  .

Примечание: использовать функцию count() запрещено. Выполните задачу, используя только один цикл.

Показать ответ и решение
n = 2 ** 5 + 7
ans = 0
while n > 0:
    if n % 4 == 3:
        ans += 1
    n //= 4
print(ans)

Ответ: 1

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

Задача 14#40839

Напишите программу, которая получает на вход число N  , переводит его в 2CC  и выводит результат работы на экран. В ответ напишите результат работы программы для N = 30  .

Примечание: использовать функцию bin() запрещено

Показать ответ и решение
n = int(input())
s = ""
while n > 0:
    s = str(n % 2) + s
    n //= 2
print(s)

Ответ: 11110

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

Задача 15#40838

Напишите программу, которая получает на вход число N  и выводит три последних разряда этого числа в 5CC  . В ответе напишите результат работы программы для N = 187  без пробелов.

Показать ответ и решение
n = int(input())
print(n // 5 // 5 % 5, n // 5 % 5, n % 5, sep="") # sep - это строка, которая ставится между всеми значениями внутри print()

Ответ: 222

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

Задача 16#40837

Напишите программу, которая получает на вход число N  и выводит два последних разряда этого числа в 7CC  . В ответе напишите результат работы программы для N = 57  без пробелов.

Показать ответ и решение
n = int(input())
print(n // 7 % 7, n % 7, sep="") # sep - это строка, которая ставится между всеми значениями внутри print()

Ответ: 11

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

Задача 17#40836

Напишите программу, которая получает на вход число N  и выводит на экран последний разряд данного числа в  2CC  . В ответе напишите результат работы программы для N = 193  .

Показать ответ и решение
n = int(input())
print(n % 2)

Ответ: 1

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

Задача 18#37818

Значение выражения 6 ⋅(3431024592)+ 5⋅(495043200)− 71000 − 1  записали в системе счисления с основанием 7  . Сколько цифр 6  содержится в этой записи.

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

PIC

Ответ: 3073775

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

Задача 19#36471

По демоверсии ЕГЭ 2023.

Операнды арифметического выражения записаны в системе счисления с основанием 4  .

20x3 + 1x32
    4      4

В записи чисел переменной x  обозначена неизвестная цифра из алфавита 4  -ричной системы счисления. Определите наименьшее значение x  , при котором значение данного арифметического выражения кратно 3  . Для найденного значения x  вычислите частное от деления значения арифметического выражения на 3  и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Показать ответ и решение
for x in range(4):
    if (int(’20’ + str(x) + ’3’, 4) + int(’1’ + str(x) + ’32’, 4)) % 3 == 0:
        print((int(’20’ + str(x) + ’3’, 4) + int(’1’ + str(x) + ’32’, 4)) // 3)

Ответ: 83

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

Задача 20#36469

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

Показать ответ и решение
n = 2 ** 2023 + 2 ** 2022 - 2 ** 1000
res = ’’
while n != 0:
    res = str(n % 2) + res
    n //= 2
print(res.count(’1’))

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