PAT 1037 在霍格沃茨找零钱(20)(代码+思路)
1037 在霍格沃茨找零钱(20)(20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。
输入格式:
输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Galleon是[0, 10^7^]区间内的整数,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
思路:这道题只是一个简单的进制转换 :1加隆=17西可=17*29纳特;
最小单位是纳特,所以可以全部转为纳特来计算,最后再兑换。
#include<iostream>
using namespace std;
int main()
{
int a[3], b[3], c[3];
char ch;
cin >> a[0] >>ch>> a[1] >>ch>> a[2] >> b[0] >>ch>> b[1] >>ch>> b[2];
int ka, kb, res;
ka = (a[0] * 17 + a[1]) * 29 + a[2];
kb = (b[0] * 17 + b[1]) * 29 + b[2];
res = kb - ka;
if (res < 0) {
res = -res;
ch = '-';
}
c[0] = res / 29 / 17;
c[1] = res / 29 % 17;
c[2] = res % 29;
if (ch == '-')
cout << ch;
cout << c[0] << "." << c[1] << "." << c[2];
return 0;
}
PAT 1037 在霍格沃茨找零钱(20)(代码+思路)的更多相关文章
- PAT 1037. 在霍格沃茨找零钱(20)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.& ...
- PAT Basic 1037 在霍格沃茨找零钱 (20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...
- PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...
- PAT 1037 在霍格沃茨找零钱
https://pintia.cn/problem-sets/994805260223102976/problems/994805284923359232 如果你是哈利·波特迷,你会知道魔法世界有它自 ...
- PAT——1037. 在霍格沃茨找零钱
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易.”现在,给定 ...
- 1037 在霍格沃茨找零钱 (20 分)C语言
题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二 十九个纳特(Knut)兑一个西可 ...
- PAT(B) 1037 在霍格沃茨找零钱(Java)
题目链接:1037 在霍格沃茨找零钱 (20 point(s)) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle) ...
- PAT 乙级 1037 在霍格沃茨找零钱(20)C++版
1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知 ...
- PAT (Basic Level) Practise (中文)-1037. 在霍格沃茨找零钱(20)
PAT (Basic Level) Practise (中文)-1037. 在霍格沃茨找零钱(20) http://www.patest.cn/contests/pat-b-practise/1037 ...
随机推荐
- 命令行下IIS的配置脚本Adsutil.vbs
命令行下IIS的配置脚本Adsutil.vbs 2009-08-20 12:26:52 www.hackbase.com 来源:Jackal's Blog Jackal's Blog文件存在于:C ...
- Java8给出一个时间段,计算该时间范围由哪些日期(天)和月份组成
1. 判断时间段是否合法: 2. 循环判断记录数是否大于0 3. 根据起始时间算出该月的第一天.最后一天和这个月有多少天: 4. 判断起始时间是否是该月第一天,如果是,再判断结束时间与该月最后一天的大 ...
- css flex 属性教程
https://www.zhangxinxu.com/wordpress/2018/10/display-flex-css3-css/#align-self display: flex; flex-w ...
- Oracle查看SQL执行计划的方式
Oracle查看SQL执行计划的方式 获取Oracle sql执行计划并查看执行计划,是掌握和判断数据库性能的基本技巧.下面案例介绍了多种查看sql执行计划的方式: 基本有以下几种方式: ...
- php请求php
function post2($url, $data){//file_get_content $postdata = http_build_query( $data ); $opts = array( ...
- perl5
1.perl包加入环境 export PERL5LIB=/export/personal1/wanglh/.software/perl/lib:$PERL5LIB
- maven(二)基于intellij idea搭建maven项目
搭建步骤: 1.File -> New Module,进入创建项目窗口. 接着下一步,这里需要注在Properties中添加一个参数 archetypeCatalog=internal,不加这个 ...
- 手机不弹toast解决方法
经常遇到华为手机不弹toast的问题 华为手机--设置--通知栏和状态栏--通知中心--自己的项目 用户可能允许通知关了 就收不到提示了 在手机的设置 -> (某些手机前面可能 ...
- Unity3D游戏贪吃蛇大作战源码休闲益智手机小游戏完整项目
<贪吃蛇大作战>一款休闲竞技游戏,不仅比拼手速,更考验玩家的策略. 视频演示: http://player.youku.com/player.php/sid/XMzc5ODA2Njg1Ng ...
- Unity3d游戏地图生成器MapMagic World Generator v1.9.1
Unity3d MapMagic World Generator基于节点的程序和无限游戏地图生成器,图形上的每个节点表示地形或对象生成器:噪声,voronoi,混合,曲线,侵蚀,散射,森林等生态系统, ...