1022. D进制的A+B
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:123 456 8输出样例:
1103
按照进制转换的公式,得出的余数要反过来输出。所以要先把计算出的余数储存在数组中,但是数组长度不确定,所以使用不定长数组vector。
具体的使用方法:
1.在头中应用文件 #include<vector>
2.using namespace std; 一定要加上这一句,不然无法使用。
3.声明: vector <数据类型> 变量名;
4.添加数据: 变量名.push_back(数据);
5.数组长度: 变量名.size();
5.调用: 按照数组使用下标调用
#include<stdio.h>
#include<vector>
using namespace std;
int main()
{
vector <int> result;
int a,b,d;
int i;
scanf("%d %d %d",&a,&b,&d);
int c=a+b;
if(c==0)
{
printf("%d",0);
}
while(c!=0)
{
result.push_back(c%d);
c=c/d;
}
for(i=result.size()-1;i>=0;i--)
{
printf("%d",result[i]);
}
return 0;
}