1037 在霍格沃茨找零錢 20 分

2021-10-22 22:01:10 字數 1824 閱讀 7052

如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統 —— 就如海格告訴哈利的:「十七個銀西可(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

我這個思路一看就是非常新手,還得再多刷題,加油!具體思路是這樣的:

首先根據給出的錢數判斷大小,如果是左邊大就前面-後面再加負號就行,

如果是左邊小右邊大就後面減前面,直接減就行

需要注意的是當不夠減向前借的時候,是按照霍格沃茨的錢幣規則借位,

我發現我傻了,直接把所有都轉為最小單位再轉回來就行,啊啊啊太笨了

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain()

else

else

else

}else flag2=1;

}}else flag2=1;

}if(flag1==1)

else

if(s1else

g=g1-g2;

cout<<

"-"<"."<"."<}else

if(flag2==1)

else

if(s2else

g=g2-g1;

cout<"."<"."<}return0;

}

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

intmain()

else

return0;

}

1037 在霍格沃茨找零錢(20 分)

如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找的零錢。輸入在 1 行中分別給出 p ...

1037 在霍格沃茨找零錢 (20 分)

如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找的零錢。輸入在 1 行中分別給出 p ...

1037 在霍格沃茨找零錢 (20 分)

1037 在霍格沃茨找零錢 20 分 如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找...