题目

时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
输入两个非负10进制整数A和B(<=2 <nobr aria&#45;hidden="true"> 3 </nobr> <math xmlns="http&#58;&#47;&#47;www&#46;w3&#46;org&#47;1998&#47;Math&#47;MathML"> <msup> <mn> 3 </mn> </msup> </math> <nobr aria&#45;hidden="true"> 0 </nobr> <math xmlns="http&#58;&#47;&#47;www&#46;w3&#46;org&#47;1998&#47;Math&#47;MathML"> <msup> <mn> 0 </mn> </msup> </math>-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:

123 456 8

输出样例:

1103

分析:

对 A+B 的和进行取余做除直到为0,将取余结果放在一个字符串中,最后逆序输出字符串,不过需要注意的是当 A+B 为0的情况

代码(cpp)

#include<iostream>
using namespace std;
int main(){
    int a,b,d,sum=0;
    int k=0;
    char c[60+2];
    cin>>a>>b>>d;
    sum=a+b;
    if(sum==0){
        cout<<0;
        return 0;
    }
    while(sum!=0){
        c[k++] = sum%d + '0';
        sum/=d;
    }
    c[k]='\0';
    for(int i=k-1;i>=0;i--)
        cout<<c[i];
    return 0;
}