1037 在霍格沃茨找零錢 20 分

2022-06-22 05:54:15 字數 1130 閱讀 4067

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

輸入在 1 行中分別給出 p 和 a,格式為galleon.sickle.knut,其間用 1 個空格分隔。這裡galleon是 [0, 10​7​​] 區間內的整數,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 #include 

8 #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,你的任務是寫乙個程式來計算他應該被找...