Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Алиса Ларкина 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).

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

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