Задание 14. Информатика. ЕГЭ. Поляков-3570
- Просмотры: 99
- Изменено: 25 ноября 2024
(Е.А. Мирончик) Некоторое число \(X\) из десятичной системы счисления перевели в системы счисления с основаниями \(16\), \(8\), \(4\) и \(2\). Часть символов при записи утеряна. Позиции утерянных символов обозначены символом \(*\): $$ X = E*_{16} = *5*_8 = ***1_4 = *****1**_2 .$$ Определите число \(X\).
Решение:
Python
def conv4(n):
ans = ''
while n:
ans = str(n % 4) + ans
n //= 4
return ans
alph = '123456789ABCDEF'
for a in alph:
n16 = f'E{a}'
n = int(n16, 16)
n8 = oct(n)[2:]
n2 = bin(n)[2:]
n4 = conv4(n)
if len(n8) == 3 and n8[1] == '5' and len(n4) == 4 and n4[-1] == '1' and len(n2) == 8 and n2[-3] == '1':
print(n)
Ответ: \(237\)