PAT B1037 在霍格沃茨找零钱(C++)

PAT甲级目录 | PAT乙级目录

题目描述

B1037 在霍格沃茨找零钱

解题思路

简单的进制转换问题,涉及的数目比较小,就直接全部换成昆特再计算。

易错点

也许陌生的知识点

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>
int main(){
int ans, P, A, p1, p2, p3, a1, a2, a3;
scanf("%d.%d.%d %d.%d.%d", &p1, &p2, &p3, &a1, &a2, &a3);
P = p1 * 17 * 29 + p2 * 29 + p3;
A = a1 * 17 * 29 + a2 * 29 + a3;
ans = A - P;
if(ans < 0){
printf("-");
ans = -ans;
}
printf("%d.%d.%d\n", ans/17/29, ans/29%17, ans%29);
return 0;
}