1022. D进制的A+B (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:123 456 8输出样例:
1103
分析:注意0 0 的情况。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void help(int n,int p)
{
int s[100],x,flag=0;
while(n)
{
x=n%p;
n/=p;
flag++;
s[flag]=x;
}
for(int i=flag;i>=1;i--)
{
if(s[i]>=10)
cout<<(char)(s[i]+55);
else
cout<<s[i];
}
}
int main()
{
int a,b,c;
cin>>a>>b>>c;
int sum=a+b;
if(sum==0)
cout<<"0";
else
help(sum,c);
return 0;
}