PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱
生活随笔
收集整理的這篇文章主要介紹了
PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統(tǒng) —— 就如海格告訴哈利的:“十七個銀西可(Sickle)兌一個加隆(Galleon),二十九個納特(Knut)兌一個西可,很容易。”現(xiàn)在,給定哈利應(yīng)付的價錢P和他實付的錢A,你的任務(wù)是寫一個程序來計算他應(yīng)該被找的零錢。
輸入格式:
輸入在1行中分別給出P和A,格式為“Galleon.Sickle.Knut”,其間用1個空格分隔。這里Galleon是[0, 107]區(qū)間內(nèi)的整數(shù),Sickle是[0, 17)區(qū)間內(nèi)的整數(shù),Knut是[0, 29)區(qū)間內(nèi)的整數(shù)。
輸出格式:
在一行中用與輸入同樣的格式輸出哈利應(yīng)該被找的零錢。如果他沒帶夠錢,那么輸出的應(yīng)該是負(fù)數(shù)。
輸入樣例1:
10.16.27 14.1.28輸出樣例1:
3.2.1輸入樣例2:
14.1.28 10.16.27輸出樣例2:
-3.2.1提交代碼:
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int g1, s1, k1, x1; 6 int g2, s2, k2, x2; 7 int delta; 8 9 scanf("%d.%d.%d %d.%d.%d", &g1, &s1, &k1, &g2, &s2, &k2); 10 11 x1 = 17 * 29 * g1 + 29 * s1 + k1; 12 x2 = 17 * 29 * g2 + 29 * s2 + k2; 13 14 15 delta = x2 - x1; 16 if(delta < 0) 17 delta = -delta; 18 19 g1 = delta / (17 * 29); 20 delta -= (g1 * 17 * 29); 21 s1 = delta / 29; 22 delta -= (s1 * 29); 23 k1 = delta; 24 25 printf(x2-x1 >= 0 ? "%d.%d.%d" : "-%d.%d.%d", g1, s1, k1); 26 27 return 0; 28 }?
轉(zhuǎn)載于:https://www.cnblogs.com/utank/p/4754157.html
總結(jié)
以上是生活随笔為你收集整理的PAT (Basic Level) Practise:1037. 在霍格沃茨找零钱的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 5407
- 下一篇: 编写高质量代码改善C#程序的157个建议