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