Новая Школа - онлайн-школа подготовки к ЕГЭ
Информатика · 11 класс Задача №3430694
А
Аноним
25 сентября 2025 14:47 · публичный вопрос
А
Аноним

Составить функцию для перевода десятичного числа Ав число Вс основанием счисления Nт.e. A(10)=В(N).Вывести В. Входные данные:78(10)=В2;105(10)=В7; 12510=В5;

Ответ нейросети
25 сентября 2025 14:47

Задача: составить функцию перевода десятичного числа A в число B основанием счисления N (A(10) -> B(N)) и привести примеры.

Краткая идея:

  • Делим число A на основание N и выписываем остатки.
  • Продолжаем делить частное на N, пока частное не станет 0.
  • Цифры числа в новой системе счисления читаются в обратном порядке полученных остатков.
  • Это обычный алгоритм перевода из десятичной системы в произвольную.

Примерная реализация (Python, пригодна для учебных целей):

  • функция to_base(n, base): возвращает строку, представляющую число n в системе счисления base
  • поддерживаются цифры 0–9 и буквы A, B, C, ... до base ≤ 36

Пример кода: def to_base(n, base): if n == 0: return "0" digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" if base < 2 or base > len(digits): raise ValueError("Недопустимое основание") res = [] while n > 0: res.append(digits[n % base]) n //= base res.reverse() return ''.join(res)

Примеры применения к данным из задачи:

  • 78 (10) в основание 2: 78 ÷ 2 = 39, остаток 0 39 ÷ 2 = 19, остаток 1 19 ÷ 2 = 9, остаток 1 9 ÷ 2 = 4, остаток 1 4 ÷ 2 = 2, остаток 0 2 ÷ 2 = 1, остаток 0 1 ÷ 2 = 0, остаток 1 Остатки читаем снизу вверх: 1001110 Ответ: 78(10) = 1001110(2)

  • 105 (10) в основание 7: 105 ÷ 7 = 15, остаток 0 15 ÷ 7 = 2, остаток 1 2 ÷ 7 = 0, остаток 2 Остатки: 0, 1, 2 -> читаем наоборот: 210 Ответ: 105(10) = 210(7)

  • 125 (10) в основание 5: 125 ÷ 5 = 25, остаток 0 25 ÷ 5 = 5, остаток 0 5 ÷ 5 = 1, остаток 0 1 ÷ 5 = 0, остаток 1 Остатки: 0, 0, 0, 1 -> 1000 Ответ: 125(10) = 1000(5)

Итоговые ответы для входных данных:

  • 78(10) = 1001110(2)
  • 105(10) = 210(7)
  • 125(10) = 1000(5)

Пояснение по сложности:

  • Время выполнения пропорционально количеству цифр в результирующей записи, то есть O(log_base(n)).
  • Простая реализация работает для любых оснований до 36 (с использованием цифр 0–9 и букв A–Z).