Вопрос задан 23.06.2023 в 14:04. Предмет Информатика. Спрашивает Вештак Дарья.

Срочно на С++!!!! Рекурсивный перевод Напишите рекурсивную процедуру для перевода десятичного

числа в P-ичную систему счисления. В данной задаче запрещено использовать циклы и массивы. Входные данные На вход программе сначала подается значение P (1 Выходные данные Вывод осуществляйте следующим образом: сначала выведите введённое число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем поставьте знак "=", после чего выведете результат работы вашей программы — число в P-ичной системе счисления, за ним укажите его систему счисления в круглых скобках. Весь вывод осуществляется без пробелов. Примеры Ввод 3 123 Вывод 123(10)=11120(3)
0 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");

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример кода на C++, который рекурсивно переводит десятичное число в P-ичную систему счисления:

cpp
#include <iostream> #include <string> void decimalToPBase(int number, int base) { if (number == 0) { return; } else { decimalToPBase(number / base, base); std::cout << number % base; } } int main() { int p, decimalNumber; std::cin >> p >> decimalNumber; std::cout << decimalNumber << "(10)="; decimalToPBase(decimalNumber, p); std::cout << "(" << p << ")" << std::endl; return 0; }

Как только вы вводите значения P и десятичного числа, программа рекурсивно вычисляет P-ичное представление числа и выводит результат в указанном формате.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос