当前位置: 代码迷 >> 综合 >> PAT甲级-1058 A+B in Hogwarts (20分)
  详细解决方案

PAT甲级-1058 A+B in Hogwarts (20分)

热度:38   发布时间:2023-09-26 23:16:58.0

点击链接PAT甲级-AC全解汇总

题目:
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)).

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

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

Sample Input:

3.2.1 10.16.27

Sample Output:

14.1.28

题意:
印象中乙级有类似题目的背景,就不同进制下求个和

我的代码:

#include<bits/stdc++.h>
using namespace std;int main(){
    int Galleon_A,Sickle_A,Knut_A;int Galleon_B,Sickle_B,Knut_B;scanf("%d.%d.%d %d.%d.%d",&Galleon_A,&Sickle_A,&Knut_A,&Galleon_B,&Sickle_B,&Knut_B);Sickle_A+=(Knut_A+Knut_B)/29;Knut_A=(Knut_A+Knut_B)%29;Galleon_A+=(Sickle_A+Sickle_B)/17;Sickle_A=(Sickle_A+Sickle_B)%17;Galleon_A+=Galleon_B;printf("%d.%d.%d\n",Galleon_A,Sickle_A,Knut_A);return 0;
}