Files
PAT/PATBasic/1037.c
T
2017-04-11 12:05:22 +08:00

44 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 1037. 在霍格沃茨找零钱(20)
*
* 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:
* “十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”
* 现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。
*
* 输入格式:
*
* 输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里
* Galleon是[0, 107]区间内的整数,Sickle是[0, 17)区间内的整数,Knut是[0, 29)区间内
* 的整数。
*
* 输出格式:
*
* 在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该
* 是负数。
*
* 输入样例1
* 10.16.27 14.1.28
* 输出样例1
* 3.2.1
* 输入样例2
* 14.1.28 10.16.27
* 输出样例2
* -3.2.1
*/
#include <stdio.h>
int main()
{
int Galleon, Sickle, Knut, P, A, change;
scanf("%d.%d.%d", &Galleon, &Sickle, &Knut);
P = (Galleon * 17 + Sickle) * 29 + Knut;
scanf("%d.%d.%d", &Galleon, &Sickle, &Knut);
A = (Galleon * 17 + Sickle) * 29 + Knut;
change = A - P;
if(change < 0) { change = -change; putchar('-'); }
printf("%d.%d.%d", change / (17 * 29), change / 29 % 17, change % 29);
return 0;
}