Pat1022代码
题目描述:
输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。
输入格式:
输入在一行中依次给出3个整数A、B和D。
输出格式:
输出A+B的D进制数。
输入样例:123 456 8输出样例:
1103
#include<cstdio>
#define MAX 1000
using namespace std;
int main(int argc,char *argv[])
{
long long a,b,d;
long long i,temp,sum;
int array[MAX];
scanf("%lld%lld%lld",&a,&b,&d);
sum=a+b;
i=0;
if(sum==0)
printf("0");
else
{
while(sum)
{
array[i]=sum%d;
sum=sum/d;
i++;
}
i--;
for(;i>=0;i--)
printf("%d",array[i]);
}
printf("\n");
return 0;
}
其中一个case是a=b=0,注意一下。。。
本篇博客详细解析了PAT 1022题目的解决方案,该题要求输入两个非负十进制整数A和B及一个进制数D,输出A+B的D进制表示。通过C++实现算法,特别处理了A=B=0的情况。
&spm=1001.2101.3001.5002&articleId=20479045&d=1&t=3&u=c3519e0d05354789bebfaf5ca2ed9f8c)
1908

被折叠的 条评论
为什么被折叠?



