PAT——1037 在霍格沃茨找零钱
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(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 在霍格沃茨找零钱相关推荐
- PAT 1037. 在霍格沃茨找零钱
PAT 1037. 在霍格沃茨找零钱 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个 ...
- PAT 1037 在霍格沃茨找零钱(20)(代码+思路)
1037 在霍格沃茨找零钱(20)(20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon) ...
- PAT --- 1037.在霍格沃茨找零钱 (20 分)
1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...
- PAT乙级(1037 在霍格沃茨找零钱 )
PAT乙级 1037 在霍格沃茨找零钱 解题思路乙级代码 思路:首先判断需要付的费用和实际付的费用大小关系 如果应付大于实付,则将其交换,并且先输出'-' 这样即可避免其他方法判断正负问题的 ...
- PAT(B) 1037 在霍格沃茨找零钱(Java)
题目链接:1037 在霍格沃茨找零钱 (20 point(s)) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle) ...
- PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)
1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...
- PAT 乙级1037 在霍格沃茨找零钱 (20分)
1037 在霍格沃茨找零钱 (20分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九 ...
- [PAT乙级]1037. 在霍格沃茨找零钱(20)
1037. 在霍格沃茨找零钱(20) 原题链接 相似题目:1026. 程序运行时间(15) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可 ...
- 1037 在霍格沃茨找零钱(附详细注释,逻辑分析)
写在前面 实现思路 进制常量定义const int scanf读取方式 统一进制计算,结果进制转换 题目较简单,10分钟a题 无废话多说 参考优化后代码 测试用例 input: 10.16.27 14 ...
最新文章
- ASP的DES加密解密
- System.Security.Cryptography.CryptographicException,密钥集不存在
- JSON-JSON 百科
- 三星Galaxy Fold中国区发布会临时取消:推迟时间未定 彻查屏幕问题
- 牛客网暑期ACM多校训练营(第三场): C. Chiaki Sequence Reloaded(数位DP)
- 【转】flex中的labelFunction(combox和dataGrid)
- adobebridge2020mac资源管理软件安装
- 5月上旬香港域名总量动态:大幅度下降 净减6466个
- 研发项目管理软件对比调研报告
- 局域网ip扫描工具_IP Scanner局域网IP扫描工具
- Android 神兵利器之通过解析网页获取到的API数据合集,可拿来就用
- c语言入门ppt演示,c语言学习ppt-C语言入门教程ppt(共434页)免费版【精品课件】-东坡下载...
- Python如何实现行人识别-人体识别
- 饥饿的小易(BFS问题)
- 高博课程编程作业之计算小萝卜的坐标
- TK1安装Caffe
- 【LaTex 中英文样式加粗】自由选择中英文字体样式,中英文字体粗黑程度设置
- web页面的性能优化以及SEO
- 自动驾驶——模型预测控制(MPC)理解与实践
- 年轻的90后就应该马上创业不要等