任务在Hackerrank上。以二进制,八进制和十六进制打印3个数字。数字必须小于10 ^ 6或结束程序。有2个测试用例。我已经完成了测试用例#0,但是我不知道要为测试用例#1解决什么问题。我想我已经完成了任务要我完成的所有事情。你能帮我解决这个问题吗?
测试用例#0
输入:2 8 15
输出:10 2 2
1000 10 8
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。
约束
。
输出格式
对于标准单行输入中的每个数字 输出,输出三个数字(它们之间一个间隔)-a 以二进制,八进制和十六进制数字记录此数字 系统。
样本输入0
2 8 15样本输出0
10 2 2 1000 10 8 1111 17 F