Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Написать на C++

Антон Андреев Ученик (95), закрыт 3 года назад
Рекурсивный перевод
Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления.

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

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

На вход программе сначала подается значение P (1<P<10), а во второй строке — десятичное число.

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

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

Примеры
Ввод
3
123
Вывод
123(10)=11120(3)
Лучший ответ
Николай Веселуха Высший разум (383275) 4 года назад
#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");
}
Peer-2-PeerМудрец (16198) 4 года назад
Николай, такая мыслишка: а Вам не приходило в голову, что раз P < 10, то результат представим одними десятичными цифрами?
Николай Веселуха Высший разум (383275) Peer-2-Peer, у меня так и работает.
Остальные ответы
312 Мастер (1301) 4 года назад
Напиши свой пример, мы поможет разобраться.
312Мастер (1301) 4 года назад
А то с нуля писать никто ничего не будет.
Похожие вопросы