1037 在霍格沃茨找零錢

2021-08-26 17:51:55 字數 1893 閱讀 5630

1037 在霍格沃茨找零錢(20 分)

如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統 —— 就如海格告訴哈利的:「十七個銀西可(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
這個計算規則我不懂誒......輸入樣例2,我自己算出來結果是-4.14.28......看了別人的想法,思路是把錢轉換成最低單位再來計算。 以及,別人的**好簡單啊......我還把時間花在資料的讀取上,其實沒必要,看來對cin>>的理解還不夠深入啊。

#include#include#includeusing namespace std;

int main()

a.push_back(num1);

f = 1;

num1 = 0;

k = i + 1;

} if (flag1 == 2)

a.push_back(num1);

break;

} }k = 0, f = 1;

for (int i = 0; i < n; i++)

b.push_back(num2);

f = 1;

num2 = 0;

k = i + 1;

} if (flag2 == 2)

b.push_back(num2);

break;

} }int res[3];

if (b[0] >= a[0])

if (b[1] >= a[1])

res[1] = b[1] - a[1];

else

res[0] = b[0] - a[0];

cout << res[0] << "." << res[1] << "." << res[2];

} else

if (a[1] >= b[1])

res[1] = a[1] - b[1];

else

res[0] = a[0] - b[0];

cout << "-" << res[0] << "." << res[1] << "." << res[2];

} system("pause");

return 0;

}

學習這兩段**: 

#include#include#include#include#include#includeusing namespace std;

int main()

else

}}

if(sum2-sum1>=0)

printf("%d.%d.%d\n",galleon1,sickle1,knut1);

else printf("-%d.%d.%d\n",galleon1,sickle1,knut1);

return 0;

}

感覺c語言的輸入輸出好方便,pat的格式要求就是用c來寫很簡單。

1037 在霍格沃茨找零錢

題目是pat乙級 思路 模擬題,注意借位。別輸出 0.0.0。訓練目的 結構體 運算子過載 題目描述 如果你是哈利 波特迷,你會知道魔法世界有它自己的貨幣系統 就如海格告訴哈利的 十七個銀西可 sickle 兌乙個加隆 galleon 二十九個納特 knut 兌乙個西可,很容易。現在,給定哈利應付的...

1037 在霍格沃茨找零錢

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

1037 在霍格沃茨找零錢

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