B1037 在霍格沃茨找零錢 20分

2021-10-04 18:08:53 字數 1217 閱讀 5386

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

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