如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統 —— 就如海格告訴哈利的:「十七個銀西可(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
intmain()
,array2[3]
=,temp[3]
=;scanf
("%d.%d.%d %d.%d.%d"
,&array1[0]
,&array1[1]
,&array1[2]
,&array2[0]
,&array2[1]
,&array2[2]
);int change = array2[0]
*17*29
+array2[1]
*29+array2[2]
-array1[0]
*17*29
-array1[1]
*29-array1[2]
;if(change<0)
printf
("%d.%d.%d"
,change/(17
*29),change%(17
*29)/
29,change%29)
;return0;
}
類似於 10進製轉換為 n進製,使用除基取餘法。
do{}while(a!=0)
如果是不同進製之間的比較或者加減運算,使用整體代換轉換為同一進製,乘以進製。
如日期比較,可以h*3600+min*60 +sec
B1037 在霍格沃茨找零錢(20)
題目描述 如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢p和他實付的錢a,你的任務是寫乙個程式來計算他應該被找的零錢。輸入格式 輸入在1行中分別...
B1037 在霍格沃茨找零錢 20分
如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找的零錢。輸入格式 輸入在 1 行中分別...
演算法筆記 B1037 在霍格沃茨找零錢
1037 在霍格沃茨找零錢 20 分 如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的價錢 p 和他實付的錢 a,你的任務是寫乙個程式來計算他應該被找...