首页 > 代码库 > PAT 1022. D进制的A+B (20)

PAT 1022. D进制的A+B (20)

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

输入格式:

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

输出格式:

输出A+B的D进制数。

输入样例:

123 456 8

输出样例:

1103

要特别注意a+b=0的情况
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<stdlib.h>
 5 int main(){
 6     long a,b;
 7     int d;
 8     scanf("%ld %ld",&a,&b);
 9     scanf("%d",&d);
10     if(a+b==0){
11         printf("0");
12         return 0;
13     }
14     long sum = a+b;
15     int c[100];
16     int i=0;
17     while(sum!=0){
18         c[i++] = sum%d;
19         sum = sum/d;
20     }
21     int n = i-1;
22     for(i=n;i>=0;i--){
23         printf("%d",c[i]);
24     }
25     
26     
27      
28 }

 

PAT 1022. D进制的A+B (20)