PAT乙级 1022. D进制的A+B (20)
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
___________________________
注意 要用long long int
scanf 时 %lld
注意考虑a=0 的情况!!!!!!!!!
1 #include "stdio.h" 2 #include"string.h" 3 #include <stdlib.h> 4 int main() 5 { 6 int shang=0,yushu=1,a=579,d=8,i=0,j; 7 long int A,B; 8 char b[10000]; 9 scanf("%ld %ld %d",&A,&B,&d); 10 a=A+B; 11 if(a==0) 12 printf("0"); 13 else{ 14 while(a){ 15 yushu=a%d; 16 a=(a-yushu)/d; 17 b[i++]=yushu+'0';} 18 for(j=i-1;j>=0;j--) 19 printf("%c",b[j] );} 20 return 0; 21 }