PAT乙級題庫「傻瓜」題解之在霍格沃茨找零錢

2022-08-23 03:54:18 字數 1571 閱讀 9539

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

#include#include

#include

using

namespace

std;

intmain()

i++;

while(money[i+1]!='

.'&&money[i+1]<='

9'&&money[i+1]>='0'

)

}else

}for(int i=0;i)

i++;

while(money2[i+1]!='

.'&&money2[i+1]<='

9'&&money2[i+1]>='0'

)

}else

}//將貨幣轉化為納特來計算

char *end,*end1,*end2,*end3,*end4,*end5;

long a=strtol(str1.c_str(),&end,10)*17*29

, b=strtol(str2.c_str(),&end1,10)*29

, c=strtol(str3.c_str(),&end2,10

), a1=strtol(str_1.c_str(),&end3,10)*17*29

, b1=strtol(str_2.c_str(),&end4,10)*29

, c1=strtol(str_3.c_str(),&end5,10

);

//將字串轉化為長整型資料

long sum=a1+b1+c1-a-b-c;

long

a,b,c;

a=sum/(29*17

); b=(sum-a*17*29)/29

; c=sum-a*29*17-b*29

;

if(sum>=0

)

else

return0;

}

PAT乙級題庫「傻瓜」題解之划拳

划拳是古老中國酒文化的乙個有趣的組成部分。酒桌上兩人划拳的方法為 每人口中喊出乙個數字,同時用手比劃出乙個數字。如果誰比劃出的數字正好等於兩人喊出的數字之和,誰就贏了,輸家罰一杯酒。兩人同贏或兩人同輸則繼續下一輪,直到唯一的贏家出現。下面給出甲 乙兩人的划拳記錄,請你統計他們最後分別喝了多少杯酒。輸...

PAT乙級題庫「傻瓜」題解之計算譜半徑

在數學中,矩陣的 譜半徑 是指其特徵值的模集合的上確界。換言之,對於給定的 n 個複數空間的特徵值 它們的模為實部與虛部的平方和的開方,而 譜半徑 就是最大模。現在給定一些複數空間的特徵值,請你計算並輸出這些特徵值的譜半徑。輸入第一行給出正整數 n 10 000 是輸入的特徵值的個數。隨後 n 行,...

PAT乙級題庫「傻瓜」題解之判斷題

判斷題的評判很簡單,本題就要求你寫個簡單的程式幫助老師判題並統計學生們判斷題的得分。輸入在第一行給出兩個不超過 100 的正整數 n 和 m,分別是學生人數和判斷題數量。第二行給出 m 個不超過 5 的正整數,是每道題的滿分值。第三行給出每道題對應的正確答案,0 代表 非 1 代表 是 隨後 n 行...