您的位置:首页 > 其它

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

2016-07-14 20:01 260 查看
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进制

1 #include<bits/stdc++.h>
2 using namespace std;
3 char digits[]= {'0','1','2','3','4','5','6','7','8','9'};
4 void convert(long long y,long long x)
5 {
6     if(x!=0)
7     {
8         convert(y,x/y);
9         printf("%c",digits[x%y]);
10     }
11 }
12 int main()
13 {
14     long long a,b;
15     int d;
16     scanf("%lld%lld%d",&a,&b,&d);
17     if(a+b==0)
18         printf("0\n");
19     else
20     {
21         int s=a+b;
22         convert(d,s);
23         printf("\n");
24     }
25
26     return 0;
27 }


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