1022 D进制的A+B (20 分)

输入两个非负 10 进制整数 A 和 B (≤),输出 A+B 的 D (1)进制数。

输入格式:

输入在一行中依次给出 3 个整数 A、B 和 D。

输出格式:

输出 A+B 的 D 进制数。

输入样例:

123 456 8

输出样例:

1103

进制转换(P进制转Q进制):

步骤:

1. 将P进制数转成10进制

给定一个2进制数1011,将其转成10进制: $1*10^3 + 1*10^2 +0*10^1+1*10^0$ = 11

C++实现:

 // P进制转10进制
int PtoTen(int x, int P)
{
int result = ;
int product = ;
while (x != )
{
result = result + (x % ) * product;
x = x / ;
product = product * P;
}
return result;
}
2.将10进制数转成Q进制

采用“除基(Q)取余法”

给定一个10进制数:17,将其转成2进制

17 / 2 = 8, 余1

8 / 2 = 4 余0

4 / 2 = 2 余0

2 / 2 = 1 余0

1 / 2 = 0 余1

计算结束

接着将余数从后往前(从下往上)输出,得到的10001就是17的二进制数

C++实现

 // 10进制转Q进制
void tenToQ(int x, int Q)
{
vector<int> left; //保存余数
do
{
left.push_back(x % Q);
x /= Q;
} while (x != );
//反向输出余数
for (auto it = left.rbegin(); it != left.rend(); ++it)
{
cout << *it;
}
}

注意:用do while是因为,如果10进制数恰好等于0,应该输出余数0,如果是while循环,则不会保存余数

题目分析:

将A和B相加,再按照上面的内容转化成D进制就可以了

 #include <iostream>
#include <vector>
using namespace std; void tenToQ(int x, int Q)
{
vector<int> left;
do
{
left.push_back(x % Q);
x /= Q;
} while (x != ); for (auto it = left.rbegin(); it != left.rend(); ++it)
{
cout << *it;
}
} int main()
{
int A, B, D;
cin >> A >> B >> D;
tenToQ(A + B, D);
return ;
}


最新文章

  1. 解决CHROME中画布中无法显示图片的方法
  2. NAS硬盘损坏拷贝时的处理办法及 UBUNTU下遍历删除某目录的方法
  3. Oracle开发常用函数与存储过程
  4. git项目版本管理
  5. 在struts-config.xml中配置validator-plugin导致404 Servlet action is not available
  6. c 按范围快速指定整数
  7. Java学习笔记之:Java数组
  8. JS远程获取网页源代码的例子
  9. C# winform 右下角弹窗
  10. linux的文本管道连接处理技巧
  11. jvm的垃圾回收几种理解
  12. 前端如何处理emoji表情
  13. 多线程/多进程/异步IO
  14. 以springMVC为例获取上传视频文件时长
  15. [03-01]JDBC基础
  16. 在vue.js 中使用animate.css库
  17. 如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》
  18. 前端跨域问题的总结&amp;&amp;nodejs 中间层的路由转发
  19. ECMAScript6 入门 Module
  20. Docker:Windows7下使用docker toolbox(1)

热门文章

  1. C++ 重写虚函数的代码使用注意点+全部知识点+全部例子实现
  2. 图、流程图、ER图怎么画及常见画图工具(流程图文章汇总)
  3. 调用 Dll 中的函数时,出现栈(STACK)的清除问题 -&gt; 故障模块名称: StackHash_0a9e
  4. k8s之发布管理架构图01
  5. SpringMvc通过controller上传文件代码示例
  6. spark listener
  7. prometheus使用postgresql-adapter连接postgresql
  8. 2019 ICPC 银川站
  9. PHP 将字符串中的数字转化为数组
  10. Android.mk文件官方使用说明