• 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; 
    } 
    
  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/8117341.html
Copyright © 2020-2023  润新知