Задание включает в себя два типа:

  1. В алгоритме есть пункт “строится двоичная запись числа N.

  2. В алгоритме есть пункт “строится троичная/семеричная запись числа N”.

    Иными словами, любая система счисления кроме двоичной.

Функция для перевода числа в любую систему счисления:

Untitled

Объяснение функции:

  1. def my_convert(number: int, system: int) -> str: - объявление функции my_convert, которая принимает два аргумента: number (число, которое нужно конвертировать) и system (система счисления, в которую нужно выполнить конвертацию). Функция возвращает строку.
  2. alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM') - создается переменная alphabet, которая содержит символы, используемые для представления чисел в различных системах счисления. Они отсортированы по порядку, чтобы обеспечить правильный порядок при конвертации.
  3. result = '' - переменная, в которой будет храниться результат конвертации. Изначально она пустая.
  4. while number > 0: - начало цикла while, который будет выполняться до тех пор, пока значение number больше нуля.
  5. result += alphabet[number % system] - добавляется символ к result, который соответствует остатку от деления number на system. Это позволяет выяснить, какой символ нужно использовать для представления остатка.
  6. number //= system - операция целочисленного деления number на system. Она уменьшает значение number, переводя его к меньшему разряду в соответствии с выбранной системой счисления.
  7. return result[::-1] - возвращается результат конвертации. Однако, поскольку символы были добавлены в обратном порядке (с меньшего разряда к большему), строка result разворачивается при помощи среза [::-1], чтобы получить правильный порядок символов
def my_convert(number: int, system: int) -> str:
    alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
    result = ''
    while number > 0:
        result += alphabet[number % system]
        number //= system
    return result[::-1]

Решение первого типа задания:

Решение второго типа задания:

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

Untitled

Поддержать меня и команду канала “Информатика | Илья Андрианов | itpy 🧑‍💻” можно по этой ссылке.