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


    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
    

    分析

    代码如下

    #include<iostream>
    #include<math.h>
    using namespace std;
    int main(){
    	long long int G1,K1,S1,G2,K2,S2,G3,K3,S3,left,flag=1;
    	scanf("%lld.%lld.%lld %lld.%lld.%lld",&G1,&S1,&K1,&G2,&S2,&K2);
        left=(K2+S2*29+G2*17*29)-(K1+S1*29+G1*17*29);
        if(left<0) flag=-1;
        left=abs(left);
    	G3=left/17/29;
    	left=left%(17*29);
    	S3=left/29; 
    	K3=left%29;
    	if(flag==-1) cout<<"-";
    	printf("%lld.%lld.%lld
    ",G3,S3,K3);
    	return 0; 
    } 
    
  • 相关阅读:
    c#大圣之路笔记——c# 页面加载数据过长等待显示框
    Python(五)
    Python(四)
    Python(三)
    python(二)数据类型与变量
    初识Python
    Linux初识(九)
    Linux初识(八)正则表达式
    Linux基础初识(七)
    Linux基础初识(六)
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/8117341.html
Copyright © 2020-2023  润新知