Задача на Хакерранке.Выведите 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