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

xiaoxiao2021-02-28  66

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

解题思路:一定要考虑到A+B为0的情况,之前没考虑到这个情况,代码测试一直有一条通不过。

代码示例:

#include <stdio.h> #include <stdlib.h> int main() { int d,i=0; long long int a,b,sum; int num[10000]={0}; scanf("%lld%lld%d",&a,&b,&d); sum=a+b; if(sum==0) printf("0"); while(sum){ num[i++]=sum%d; sum=sum/d; } for(i=i-1;i>=0;i--) printf("%d",num[i]); return 0; }

转载请注明原文地址: https://www.6miu.com/read-46384.html

最新回复(0)