Условие: КЕГЭ № 8425 (Уровень: Средний)
• Статья подготовлена командой itpy
• Полный разбор задачи в Notion
В системе счисления с основанием p выполняется равенство 32 * 14 = xy2. Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p.
Определите значение числа yx_p и запишите это значение в десятичной системе счисления.
Решение через Python и комментарии к нему:
Комментарии к коду решения:
- ALPHABET = sorted('0123456789AQWERTYUIOPSDFGHJKLZXCVBNM') - Удобный способ создание отсортированного списка символов алфавита 36-ой системы счисления.
- for p in range(5, 36+1): - Цикл по основаниям систем счисления от 5 до 36. От 5, потому что в нашем выражении старшая цифра 4, а до 36 - ограничения нашего алфавита.
- for x in ALPHABET[:p]: - Цикл по символам алфавита для текущего основания p.
- for y in ALPHABET[:p]: - Вложенный цикл по символам алфавита для текущего основания p.
- if int('32', p) * int('14', p) == int(f'{x}{y}2', p): - Проверка: если произведение чисел в системе счисления p равно числу в системе счисления p, собранному из символов x, y и '2'.
- print(int(f'{y}{x}', p)) - Вывод числа, собранного из символов y и x в системе счисления p.