您的位置:首页 > 其它

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

2016-07-11 15:39 489 查看

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

乙级题都是细节题

思路:看这数据范围,得用longlong,然后写个函数表示D进制

#include<bits/stdc++.h>
using namespace std;
char digits[]= {'0','1','2','3','4','5','6','7','8','9'};
void convert(long long y,long long x)
{
if(x!=0)
{
convert(y,x/y);
printf("%c",digits[x%y]);
}
}
int main()
{
long long a,b;
int d;
scanf("%lld%lld%d",&a,&b,&d);
if(a+b==0)
printf("0\n");
else
{
int s=a+b;
convert(d,s);
printf("\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: