
ДАЮ 20 БАЛЛОВ ЗА РЕШЕНИЕ ЗАДАЧИ ПО С++!!!!!! Напишите рекурсивную функцию перевода целого
неотрицательного числа из десятичной системы счисления в двоичную. Формат входных данных На вход ваша программа получает одно число — N (0≤N≤500000). Формат выходных данных Выведите число N в двоичной системе счисления. входные данные 42 9 выходные данные 101010 1001

Ответы на вопрос

Ответ:
Объяснение:
#include <iostream>
#include <vector>
#include <string>
int main()
{
int n;
std::cin >> n;
std::vector<int> bin;
for (;;) {
if (n <= 0) {
break;
}
bin.push_back(n % 2);
n /= 2;
}
int bin_size = bin.size();
for (int i = 0; i < ( bin_size) ;i++) {
std::cout << bin.back();
bin.pop_back();
}
}



Конечно, я могу помочь вам написать рекурсивную функцию на C++, которая выполнит перевод из десятичной системы счисления в двоичную. Вот пример кода:
cpp#include <iostream>
#include <string>
std::string decimalToBinary(int n) {
if (n == 0) {
return "0";
} else if (n == 1) {
return "1";
} else {
// Рекурсивно вызываем функцию для n / 2 и добавляем остаток от деления n на 2
return decimalToBinary(n / 2) + std::to_string(n % 2);
}
}
int main() {
int N;
std::cin >> N;
std::string binary = decimalToBinary(N);
std::cout << binary << std::endl;
return 0;
}
Этот код сначала считывает целое число N, а затем вызывает функцию decimalToBinary
, которая рекурсивно переводит N в двоичную систему счисления. Результат выводится на экран.
Примеры ввода и вывода, соответствующие вашим данным:
Входные данные:
42 9
Выходные данные:
yaml101010
1001
Каждый вызов decimalToBinary
делит число n
на 2 и добавляет остаток от деления к двоичной строке. Рекурсия продолжается, пока n
не станет равным 0 или 1, и затем строка завершается.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili