Разбор 14.PNG

№ 8425 (Уровень: Средний) В системе счисления с основанием p выполняется равенство 32 * 14 = xy2. Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Определите значение числа yx_p и запишите это значение в десятичной системе счисления.

Untitled

Комментарии к коду решения:

  1. ALPHABET = sorted('0123456789AQWERTYUIOPSDFGHJKLZXCVBNM') - Удобный способ создание отсортированного списка символов алфавита 36-ой системы счисления.
  2. for p in range(5, 36+1): - Цикл по основаниям систем счисления от 5 до 36. От 5 потому что в нашем выражении старшая цифра 4, а до 36 - ограничения нашего алфавита.
  3. for x in ALPHABET[:p]: - Цикл по символам алфавита для текущего основания p.
  4. for y in ALPHABET[:p]: - Вложенный цикл по символам алфавита для текущего основания p.
  5. if int('32', p) * int('14', p) == int(f'{x}{y}2', p): - Проверка: если произведение чисел в системе счисления p равно числу в системе счисления p, собранному из символов x, y и '2'.
  6. print(int(f'{y}{x}', p)) Вывод числа, собранного из символов y и x в системе счисления p.
ALPHABET = sorted('0123456789AQWERTYUIOPSDFGHJKLZXCVBNM')
for p in range(5, 36+1):
    for x in ALPHABET[:p]:
        for y in ALPHABET[:p]:
            if int('32', p) * int('14', p) == int(f'{x}{y}2', p):
                print(int(f'{y}{x}', p))

Ответ:

**Присоединяйтесь и готовьтесь с нами: t.me/informatika_kege_itpy**

Untitled

Автор статьи: @ilandroxxy