如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(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

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

解题思路:首先要接收输入的钱,这个时候使用scanf的好处就体现出来了,可以很快就分开每个数字。然后先判断应收的钱和实付的钱的大小,如果应收的钱比实付的钱多,那么先输出一个负号,然后交换两组数据方便处理。然后就是进行正常处理,先判断kunt数,不够向sickle借,再判断sickle数,不够向gallon借。

#include <iostream>
using namespace std;
int main()
{int gallon1, sickle1 ,kunt1, gallon2, sickle2, kunt2, x, y, z;scanf("%d.%d.%d %d.%d.%d",&gallon1, &sickle1, &kunt1, &gallon2, &sickle2, &kunt2);if (gallon1 > gallon2 || (gallon1 == gallon2 && sickle1 > sickle2) || (gallon1 == gallon2 && sickle1 == sickle2 && kunt1 > kunt2))  //应收的钱>实付的钱,交换数据方便处理{swap(gallon1, gallon2); swap(sickle1, sickle2); swap(kunt1, kunt2);printf("-");        }if(kunt2>=kunt1)      //计算kuntz = kunt2-kunt1;else{z = kunt2+29-kunt1;sickle2 = sickle2-1;}if(sickle2>=sickle1)  //计算sickley = sickle2-sickle1;else{y = sickle2+17-sickle1;gallon2 = gallon2-1;}x = gallon2-gallon1;  //计算gallonprintf("%d.%d.%d", x, y, z);return 0;
}

PAT——1037 在霍格沃茨找零钱相关推荐

  1. PAT 1037. 在霍格沃茨找零钱

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

  2. PAT 1037 在霍格沃茨找零钱(20)(代码+思路)

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

  3. PAT --- 1037.在霍格沃茨找零钱 (20 分)

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

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

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

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

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

  6. PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)

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

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

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

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

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

  9. 1037 在霍格沃茨找零钱(附详细注释,逻辑分析)

    写在前面 实现思路 进制常量定义const int scanf读取方式 统一进制计算,结果进制转换 题目较简单,10分钟a题 无废话多说 参考优化后代码 测试用例 input: 10.16.27 14 ...

最新文章

  1. ASP的DES加密解密
  2. System.Security.Cryptography.CryptographicException,密钥集不存在
  3. JSON-JSON 百科
  4. 三星Galaxy Fold中国区发布会临时取消:推迟时间未定 彻查屏幕问题
  5. 牛客网暑期ACM多校训练营(第三场): C. Chiaki Sequence Reloaded(数位DP)
  6. 【转】flex中的labelFunction(combox和dataGrid)
  7. adobebridge2020mac资源管理软件安装
  8. 5月上旬香港域名总量动态:大幅度下降 净减6466个
  9. 研发项目管理软件对比调研报告
  10. 局域网ip扫描工具_IP Scanner局域网IP扫描工具
  11. Android 神兵利器之通过解析网页获取到的API数据合集,可拿来就用
  12. c语言入门ppt演示,c语言学习ppt-C语言入门教程ppt(共434页)免费版【精品课件】-东坡下载...
  13. Python如何实现行人识别-人体识别
  14. 饥饿的小易(BFS问题)
  15. 高博课程编程作业之计算小萝卜的坐标
  16. TK1安装Caffe
  17. 【LaTex 中英文样式加粗】自由选择中英文字体样式,中英文字体粗黑程度设置
  18. web页面的性能优化以及SEO
  19. 自动驾驶——模型预测控制(MPC)理解与实践
  20. 年轻的90后就应该马上创业不要等

热门文章

  1. window 下修改 babun 默认打开(HOME)路径
  2. CGB JAVA面试题 NOTE1
  3. 用python还原《三体》中的二向箔——地球表面的二维投影
  4. 校验银行卡是否有效, 获取所属行, 校验预留信息
  5. 写在OI退役后和高中毕业前的一些话
  6. 为WebService添加描述
  7. 四条眉毛的陆小凤《陆小凤传奇》
  8. 以太坊2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!
  9. neo4j批量追加属性、节点、关系
  10. yum常见命令-安装与卸载软件