Перевести число из десятичной системы счисления в любую систему счисления с основанием до 9

# Ввод десятичного числа и
# его преобразование к целому.
num = int(input())

# Ввод системы счисления
base = int(input("Base (2-9): "))

# Проверка корректности ввода
# системы счисления.
# Если основание не принадлежит
# указанному диапазону,
# происходит выход из программы.
if not(2 <= base <= 9):
    quit()

# Переменная для хранения
# строкового представления числа
# в заданной системе счисления
newNum = ''

# Пока исходное число больше 0,
while num > 0:
    # находится остаток
    # от его деления на основание,
    residue = num % base

    # остаток преобразовывается
    # к строковому типу
    residue = str(residue)

    # и добавляется в начало строкового
    # представления нового числа
    newNum = residue + newNum

    # Само десятичное число
    # делится нацело на основание
    # заданной системы счисления
    num = num // base

# Вывод строкового представления числа
# в системе счисления с основанием base
print(newNum)
100
Base (2-9): 7
202


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий