您的位置:首页 > 其它

PAT 1058 A+B in Hogwarts

2014-11-04 00:09 239 查看
#include <cstdio>
#include <cstdlib>

using namespace std;

class Number {
public:
int a;
int b;
int c;
Number(int _a = 0, int _b = 0, int _c = 0): a(_a), b(_b), c(_c){}
Number operator+(const Number& n) {
Number tmp;
tmp.a = a + n.a;
tmp.b = tmp.a / 29;
tmp.a = tmp.a % 29;

tmp.b += b + n.b;
tmp.c = tmp.b / 17;
tmp.b = tmp.b % 17;

tmp.c += c + n.c;
tmp.c = tmp.c;
return tmp;
}
void print() {
printf("%d.%d.%d", c, b, a);
}
};

int main() {
Number n1, n2;
scanf("%d.%d.%d", &n1.c, &n1.b, &n1.a);
scanf("%d.%d.%d", &n2.c, &n2.b, &n2.a);

Number n3 = n1 + n2;
n3.print();
return 0;
}


感觉是个坑,明明说了Galleon is an integer in [0, 107],结果tmp.c不用取模就对了,麻烦把定义说明白一些
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: