1058 A+B in Hogwarts (20分)(水)
Posted 57one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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], 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
题目分析:进制转化
1 #define _CRT_SECURE_NO_WARNINGS 2 #include <climits> 3 #include<iostream> 4 #include<vector> 5 #include<queue> 6 #include<map> 7 #include<set> 8 #include<stack> 9 #include<algorithm> 10 #include<string> 11 #include<cmath> 12 using namespace std; 13 long long N1[3]; 14 long long N2[3]; 15 long long Flag[3]; 16 long long C[3] = { 10000000,17,29 }; 17 int main() 18 { 19 scanf("%lld.%lld.%lld %lld.%lld.%lld", &N1[0], &N1[1], &N1[2], &N2[0], &N2[1], &N2[2]); 20 for (long long i = 2; i >=0; i--) 21 { 22 N1[i] += N2[i] + Flag[i]; 23 if (N1[i] >=C[i]&&i!=0) 24 { 25 Flag[i - 1] = N1[i]/C[i]; 26 N1[i] %= C[i]; 27 } 28 } 29 printf("%lld.%lld.%lld", N1[0], N1[1], N1[2]); 30 }
以上是关于1058 A+B in Hogwarts (20分)(水)的主要内容,如果未能解决你的问题,请参考以下文章
pat 1058 A+B in Hogwarts(20 分)
PAT 甲级 1058 A+B in Hogwarts (20 分) (简单题)