1058 霍格沃兹的A+B
如果你是《哈利波特》的粉丝,你应该会知道魔法世界有自己的货币体系----正如海格对哈利解释的那样“17Sickle
换取1Galleon
,29Knut
换取以Sickle
,就是这么简单”。你的工作就是编写一个程序来计算A+B,其中A和B的格式为Galleon.Sickle.Knun
(Galleon是[0, 107]中的整数,Sickle是[0, 17)中的整数,Knun是[0, 29)中的整数)。
输入规范
每个输入文件包含一个测试用例,该测试用例包含按照标准格式表示的A和B,两者之间用空格分隔。
输出规范
对于每个测试用例,你应该在一行输出A和B的和,输出格式与输入格式相同。
输入样例
3.2.1 10.16.27
输出样例
14.1.28
解题思路
直接模拟,注意输入技巧与输出格式即可。
AC代码
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int g1, s1, k1, g2, s2, k2;
scanf("%d.%d.%d", &g1, &s1, &k1);
scanf("%d.%d.%d", &g2, &s2, &k2);
int res_g, res_s, res_k;
int t = 0;
res_k = (t + k1 + k2) % 29;
t = (k1 + k2) / 29;
res_s = (t + s1 + s2) % 17;
t = (t + s1 + s2) / 17;
res_g = (t + g1 + g2);
cout << res_g << '.' << res_s << '.' << res_k << endl;
return 0;
}