Рекурсивный перевод на С++

Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления.

В данной задаче запрещено использовать циклы и массивы.

Входные данные

На вход программе сначала подается значение P (1


Выходные данные

Вывод осуществляйте следующим образом: сначала выведите введённое число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем поставьте знак "=", после чего выведете результат работы вашей программы — число в P-ичной системе счисления, за ним укажите его систему счисления в круглых скобках. Весь вывод осуществляется без пробелов.

Ответы

Ответ дал: dashenkavorobyova
3

Ответ:

#include <iostream>

#include <string>

using namespace std;

string fn(unsigned value, unsigned base) {

static string box;

if (!value) {

auto x = box;

box.clear();

return string(x.rbegin(), x.rend());

}

box += to_string(value % base);

value /= base;

return fn(value, base);

}

int main() {

unsigned base, value;

cin >> base >> value;

auto result = fn(value, base);

cout << value << "(10)=" << result << "("<< base << ")\n";

system("pause > nul");

}

Вас заинтересует