PAT甲级 1058 A+B in Hogwarts(20) (模拟)

题目

If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- as Hagrid explained it to Harry, "Seventeen silver Sickles to a Galleon and twenty-nine Knuts to a Sickle, it's easy enough." Your job is to write a program to compute A+B where A and B are given in the standard form of Galleon.Sickle.Knut (Galleon is an integer in [0,10^{7}], Sickle is an integer in [0, 17), and Knut is an integer in [0, 29)).

输入

Each input file contains one test case which occupies a line with A and B in the standard form, separated by one space.

输出

For each test case you should output the sum of A and B in one line, with the same format as the input.

样例输入 

3.2.1 10.16.27

样例输出 

14.1.28

题意理解

给你两个数字然后格式是 x.x.x 通过进制转换成一个新的数 前面两个是按照进制转换然后相加的所以直接加一下然后进制转换一下就好了

代码 

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL nu=29*17,u=29;
LL a1,a2,a3;
LL b1,b2,b3;
LL res1,res2,res3;
int main(){
    scanf("%lld.%lld.%lld",&a1,&a2,&a3);
    scanf("%lld.%lld.%lld",&b1,&b2,&b3);
    LL sum=a1*nu+a2*u+a3;
    sum+=b1*nu+b2*u+b3;
    printf("%lld.%lld.%lld\n",sum/nu,sum%nu/u,sum%u);
    return 0;
}


版权声明:本文为NHS6671原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。