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

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

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

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

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


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

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

Ответ:

#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");

}

Остались вопросы?

Рекурсивный перевод на С++<br /><br /> Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления.<br /><br /> В данной задаче запрещено использовать циклы и массивы.<br /><br /> Входные данные<br /><br /> На вход программе сначала подается значение P (1<p></p> <br /> Выходные данные<br /><br /> Вывод осуществляйте следующим образом: сначала выведите введённое число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем поставьте знак \"=\", после чего выведете результат работы вашей программы — число в P-ичной системе счисления, за ним укажите его систему счисления в круглых скобках. Весь вывод осуществляется без пробелов.