Блок задач

1. Базовые навыки

Темы
Сложность 5

Задача «Системы счисления»

Реализовать перевод произвольного числа из одной системы счисления в другую. Допустимые системы счисления: 2-36. Ограничений на число -- нет.

Оформить перевод в виде функции. Предлагаемый прототип:

char * transform(const char * input, int in_base, int out_base);

здесь:

  • input -- строка с исходным числом,
  • in_base -- система счисления исходного числа,
  • out_base -- новая система счисления,
  • функция возвращает строку, в которой записано исходное число в новой системе счисления. Функция самостоятельно выделяет требуемый объем памяти и записывает в него строку с результатом. В случае ошибки функция возвращает NULL.

Пример перевода: prevedmedved36 → 101111000011100110111010110101010100010101110100010110001101012