Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 36. Используйте процедуру. Входные данные Входная строка содержит целое число N и основание системы счисления B , разделённые пробелом. Гарантируется, что 2 ≤ B ≤ 36 . Выходные данные Программа должна вывести представление переданного её числа N в системе счисления с основанием B . При записи чисел в системах с основанием большим 10 используются прописные латинские буквы.
Примеры
Входные данные
13 3
Выходные данные
111
Входные данные
-34 18
Выходные данные
-1G

12 Окт 2019 в 19:41
1 946 +1
1
Ответы
1

def fu(n, b):

  f = 0

  if (n == 0):

    print (0)

    f = 2

  if (n < 0):

    print("-", end = "", sep = '')

    n *= (-1)

  s = 0

  m = n

  while m != 0:

    s += 1

    m //= 10

   

  for e in range(100):


    if b ** e > n:

      k = b ** (e - 1)

      break

  while k > 0:

    if f == 2:

      break


    if (n // k < 10):

      print(n // k, end = "", sep = '')

     

     

    elif (n // k == 10):

      print("A", end = "", sep = '')

    elif (n // k == 11):

      print("B", end = "", sep = '')

    elif (n // k == 12):

      print("C", end = "", sep = '')

    elif (n // k == 13):

      print("D", end = "", sep = '')

    elif (n // k == 14):

      print("E", end = "", sep = '')

    elif (n // k == 15):

      print("F", end = "", sep = '')

    elif (n // k == 16):

      print("G", end = "", sep = '')

    elif (n // k == 17):

      print("H", end = "", sep = '')

    elif (n // k == 18):

      print("I", end = "", sep = '')

    elif (n // k == 19):

      print("J", end = "", sep = '')

    elif (n // k == 20):

      print("K", end = "", sep = '')

    elif (n // k == 21):

      print("L", end = "", sep = '')

    elif (n // k == 22):

      print("M", end = "", sep = '')

    elif (n // k == 23):

      print("N", end = "", sep = '')

    elif (n // k == 24):

      print("O", end = "", sep = '')

    elif (n // k == 25):

      print("P", end = "", sep = '')

    elif (n // k == 26):

      print("Q", end = "", sep = '')

    elif (n // k == 27):

      print("R", end = "", sep = '')

    elif (n // k == 28):

      print("S", end = "", sep = '')

    elif (n // k == 29):

      print("T", end = "", sep = '')

    elif (n // k == 30):

      print("U", end = "", sep = '')

    elif (n // k == 31):

      print("V", end = "", sep = '')

    elif (n // k == 32):

      print("W", end = "", sep = '')

    elif (n // k == 33):

      print("X", end = "", sep = '')

    elif (n // k == 34):

      print("Y", end = "", sep = '')

    elif (n // k == 35):

      print("Z", end = "", sep = '')

    n %= k

    k //= b

n, b = map(int, input(). split())

fu(n, b)

10 Фев 2023 в 20:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир