c++ - 将 dec 转换为二进制、八进制和十六进制问题
问题描述
任务在 Hackerrank 上。以二进制、八进制和十六进制打印 3 个数字。数字必须低于 10^6 或结束程序。有2个测试用例。我已经完成了测试用例#0,但我不知道还有什么要为测试用例#1 修复的。我想我已经完成了任务要求我做的所有事情。你能帮我解决这个问题吗?
测试用例 #0
输入:2 8 15
输出:10 2 2
1000 10 8
1111 17楼
#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
解决方案
推荐阅读
- reactjs - 在 React 中使用 useState 和 useEffect 的无限循环
- java - 如何在rest api java中实现最多3次尝试请求资源
- javascript - 移动设备上的绝对设备方向
- python - 如何通过networkx通过给出边缘顺序来绘制图形?
- python - 我正在尝试将 Google Sign 集成到我的 python、flask Web 应用程序中,但出现以下错误
- html - 使用 svelte 将 json 文件加载到 html 时遇到问题
- sql - Teradata 中的变更数据捕获
- python - 如何使用查询在 Django 中从 UTC 转换为本地时间?
- c# - 层中排序和排序组不能正常工作
- sql - SQL Next 不前进游标