1037 在霍格沃茨找零钱 (20分)
原题链接:传送门
一、题目:
输入样例 1:
10.16.27 14.1.28
输出样例 1:
3.2.1
输入样例 2:
14.1.28 10.16.27
输出样例 2:
-3.2.1
二、解析:
思路:
把所有金额换算最小的Knut相减,然后再换算出来打印。
AC代码:
import java.util.Scanner;
/**
* 1037 在霍格沃茨找零钱 (20分)
*
* @思路:把所有金额换算最小的Knut相减,然后再换算出来打印。
* @author: ChangSheng
* @date: 2019年12月30日 下午9:39:42
*/
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String[] P = s.next().split("[.]");
String[] A = s.next().split("[.]");
// 换成最小的Knut
int PKnut = (Integer.valueOf(P[0])*17+Integer.valueOf(P[1]))*29+Integer.valueOf(P[2]);
int AKnut = (Integer.valueOf(A[0])*17+Integer.valueOf(A[1]))*29+Integer.valueOf(A[2]);
int num = AKnut - PKnut;
// 再换回来
int Knut = num % 29;
int Sickle = num / 29 % 17;
int Galleon = num / 29 / 17;
System.out.print(Galleon + "." + Math.abs(Sickle) + "." + Math.abs(Knut));
}
}