如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(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
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);Coin p = new Coin(in.next().split("[.]"));Coin a = new Coin(in.next().split("[.]"));in.close();Coin result = new Coin();if (p.galleon > a.galleon) {System.out.print("-");//p minus aif (p.kunt < a.kunt) {p.kunt += 29;p.sickle--;}result.kunt = p.kunt - a.kunt;if (p.sickle < a.sickle) {p.sickle += 17;p.galleon--;}result.sickle = p.sickle - a.sickle;result.galleon = p.galleon - a.galleon;} else {//a minus pif (p.kunt > a.kunt) {a.kunt += 29;a.sickle--;}result.kunt = a.kunt - p.kunt;if (p.sickle > a.sickle) {a.sickle += 17;a.galleon--;}result.sickle = a.sickle - p.sickle;result.galleon = a.galleon - p.galleon;}System.out.print(result.galleon + "." + result.sickle + "." + result.kunt);}}class Coin {int galleon;int sickle;int kunt;public Coin() {this.galleon = this.sickle = this.kunt = 0;}public Coin(String[] coin) {this.galleon = Integer.parseInt(coin[0]);this.sickle = Integer.parseInt(coin[1]);this.kunt = Integer.parseInt(coin[2]);}
}

PAT 乙级 1037. 在霍格沃茨找零钱(20)Java版相关推荐

  1. PAT 乙级1037 在霍格沃茨找零钱 (20分)

    1037 在霍格沃茨找零钱 (20分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九 ...

  2. PAT乙级(1037 在霍格沃茨找零钱 )

    PAT乙级    1037 在霍格沃茨找零钱   解题思路乙级代码 思路:首先判断需要付的费用和实际付的费用大小关系 如果应付大于实付,则将其交换,并且先输出'-' 这样即可避免其他方法判断正负问题的 ...

  3. C++学习之路 | PTA乙级—— 1037 在霍格沃茨找零钱 (20 分)(精简)

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...

  4. PAT(B) 1037 在霍格沃茨找零钱(Java)

    题目链接:1037 在霍格沃茨找零钱 (20 point(s)) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle) ...

  5. [PAT乙级]1037. 在霍格沃茨找零钱(20)

    1037. 在霍格沃茨找零钱(20) 原题链接 相似题目:1026. 程序运行时间(15) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可 ...

  6. pat 乙级 1037 在霍格沃茨找零钱(C++)

    题目 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容 ...

  7. PAT乙级1037 在霍格沃茨找零钱

    如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.& ...

  8. PTA乙级 1037 在霍格沃茨找零钱 (20分)--水题

    题目原文 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可, ...

  9. PAT 乙级 1037 在霍格沃茨找零钱(解题思路+AC代码)

    题目: 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很 ...

最新文章

  1. Java泛型进阶 - 如何取出泛型类型参数
  2. creat_caltab生成六边形标定板(黑底白点)
  3. linux 快速删除大量/大文件
  4. 请解释一下http请求中的304状态码的含义
  5. 多路 IO 转接 :select 函数
  6. a href='?out=login'是什么意思
  7. sentinel 打包_SpringCloud Alibaba整合Sentinel
  8. 开发框架:AdminLTE
  9. 高通modem启动过程_使用QXDM收集高通modem日志
  10. mysql实验数据库报告_MySQL数据库技术》实验报告模板
  11. Listen1:让你畅听全网音乐,支持多平台
  12. java闰年2月有多少_java计算两个时间相隔月数,考虑闰年
  13. 模仿天猫商城的J2EE商城网站项目后端5——bean包
  14. 尚融宝15-集成阿里云短信服务
  15. PTA乙级题解(110题全)
  16. stm32c8t6通过onenet上传gps经度与维度
  17. 来自一个工作一年零九个月java程序员的自我介绍
  18. SQLTracker跟踪工具用法
  19. Djange 模型层2
  20. Streamsets3.23 编译安装,超详细

热门文章

  1. cocos2d JS 源生js实现each方法
  2. 全国第一家FPGA云主机(FAAS)正式启动售卖,被阿里云抢先了。
  3. 常用端口号及对应服务
  4. 一些Layout的坑
  5. Office365下部署SharePoint站点集
  6. 理解嵌入式开发中的一些硬件相关的概念
  7. 解决电脑启动报:Reboot and select proper boot device
  8. jQuery笔记——jQuery选择器实例应用
  9. [代码发布]中文文字转换组件 1.0,支持VB/ASP编程
  10. 继英伟达、三星后,育碧也遭攻击,员工密码重置