Преобразование dec в двоичную, восьмеричную и шестнадцатеричную задачу - PullRequest
0 голосов
/ 15 ноября 2018

Задача на Хакерранке.Выведите 3 числа в двоичном, восьмеричном и шестнадцатеричном виде.Числа должны быть ниже 10 ^ 6 или завершить программу.Есть 2 теста.Я выполнил тестовый пример № 0, но я не знаю, что еще можно исправить в тестовом примере № 1.Я думаю, что я сделал все, что от меня требует задание.Можете ли вы помочь мне решить эту проблему?

Контрольный пример № 0

Ввод: 2 8 15

Выход: 10 2 2

1000 108

1111 17 F

#include <bitset>
#include <string>
using namespace std;

string decimal_to_binary(int n)
{
       string m;
       while (n >= 1) 
       {
             m = static_cast<char>((n%2) + '0') + m;
             n /=2;
       }
       return m;
}

int main()
{
unsigned long long a,b,c;

    cin >> a >> b >> c;
    if(a > 1000000 || b > 1000000 || c > 1000000) {return 0;}
    else{ 
    cout << std::dec << decimal_to_binary(a) << " " << std::oct << a << " " 
<< std::uppercase << std::hex << a << '\n'
        << std::dec << decimal_to_binary(b) << " " << std::oct << b << " " 
<< std::uppercase << std::hex << b << '\n'
        << std::dec << decimal_to_binary(c) << " " << std::oct << c << " " 
<< std::uppercase << std::hex << c << '\n';
    }
}

Редактировать: вставить описание задачи, приведенное ниже

Написать программу для преобразования числа в двоичное, восьмеричноеи шестнадцатеричное.

Формат ввода

Стандартный ввод задается числом чисел (записанных в десятичной системе счисления), которое меньше 10 ^ 6.

Ограничения

.

Формат вывода

Для каждого числа на входе одной строки стандартного выхода выводятся три числа (один интервал между ними) - запись этогочисло в двоичной, восьмеричной и шестнадцатеричной системах счисления.

Пример ввода 0

2 8 15 Пример вывода 0

10 2 2 1000 10 8 1111 17 F

...