如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統 —— 就如海格告訴哈利的:「十七個銀西可(sickle)兌乙個加隆(galleon),二十九個納特(knut)兌乙個西可,很容易。」現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找的零錢。輸入在 1 行中分別給出 p 和 a,格式為
galleon.sickle.knut
,其間用 1 個空格分隔。這裡galleon
是 [0, 107] 區間內的整數,sickle
是 [0, 17) 區間內的整數,knut
是 [0, 29) 區間內的整數。在一行中用與輸入同樣的格式輸出哈利應該被找的零錢。如果他沒帶夠錢,那麼輸出的應該是負數。
10.16.27 14.1.28
3.2.1
14.1.28 10.16.27
-3.2.1
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include8 #include 9 #include 10 #include 11 #include 12
using
namespace
std;
1314
intmain()
1527
intg, s, k;
28 g = sub / (17*29
);29 s = sub % (17*29) / 29
;30 k = sub % (17*29) % 29
;31 printf("
%d.%d.%d
", g, s, k);
32return0;
33 }
看到這題我首先想到的居然不是換算成最小單位,而是暴力列舉,結果是測試點2、4不過。後來看了他人的思路,突然想到這種存在單位大小換算的問題的方法中——不敢說是最簡單的,但是較為方便的方法絕對是統一換算成最小單位,最後再進行單位還原的。
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,你的任務是寫乙個程式來計算他應該被找...