小學期之際,時間比較充足,除了對演算法和c++學習之外,嘗試用c++開始重做pat乙級題目
目前完成了30道,總結下前30道中遇到的小技巧,和一些知識,希望能給自己加深印象,如果能便利其他人就更好了
第一套:
1001:無
1002:要求讀出這個數的每個數字,當然要用string陣列分別儲存yi,er,san,si,wu等
1003:能有乙個p乙個t,中間末尾和開頭可以隨便插入a。但是必須滿足開頭的a的個數 * 中間的a的個數 = 結尾的a的個數,而且p和t中間不能沒有a,用map容器,對字元的個數進行統計
1004:無
1005:對驗證過的數用陣列存起來
第二套:
1001:用陣列存起來三個字母的個數
1002:無
1003:m要對n取餘,因為m的大小沒有規定,可能會出現週期的問題**一圈又回來了)
1004:stack容器,把元素壓入棧頂,如果棧不為空,就彈出棧頂元素,輕鬆實現倒敘
1005:無
第三套:
1001:範圍恰好可以用long long int,不需要轉換成字串處理
int 範圍: -2147483648~2147483647 (10位數)
long long int範圍:-9223372036854775808~9223372036854775807 (19位數)
1002:無
1003:統計素數的個數,
while(num1004:無1005:重點是cmp的寫法,這裡借用一下柳神的寫法int cmp(struct node a, struct node b)
第四套1001:無1002:大數的模擬除法,核心**
for (int i = 1; i < len; i++)
1003:無1004:無1005:用乙個結構體分別存單價,總價,總量,優先把單價最高的全部售出,emm這個好像還是開學初學長給的題第五套1001:無
1002:核心**
while (t != 0)
1003:排序從小到大,先放大於0的最小的那個然後順序放,注意他給的是個數不是數字1004:用string,和getline(cin,a);直接獲取字串,然後找e以前的和e以後的進行操作1005:next陣列的操作第六套1001:無
1002:列印圖形,數學題,2 * m - 1
1003: 直接用字串儲存年齡最小的和年齡最大的,分別為1814/09/06和2014/09/06,直接和輸入的字串比較大小,並儲存最大最小的字串
1004:用字串的find(),string::npos是沒有相同的,find找的是下標,toupper()小寫變大寫;
1005:外層迴圈從0開始,內層迴圈從i+result開始,核心**
for (int i = 0; i < n; i++)
else
} }
最後感謝柳神,學長,老師,和同學們 PAT乙級做題總結
最近準備pat乙級考試,但是準備過程中通過刷題暴露了這樣幾個問題 1 掌握的庫函式太少。這導致很多有現成的庫函式,我還採用自己編寫的方式。執行效率低下,且容易出現問題。這也是最明顯的問題 2 程式設計的思維還沒有形成。具體而言,當面臨乙個程式設計題時,不是程式設計知識為我所用,不能隨心所欲地按照自己...
PAT乙級 有幾個PAT
輸入只有一行,包含乙個字串,長度不超過105,只包含p,a,t三種字母。在一行中輸出給定字串中包含多少個pat。由於結果可能比較大,只輸出對1000000007取餘數的結果。2首先,這個題看完之後有點懵逼,然後仔細分析得出這三點 每個p對應的pat組合數量是a之前p的數量 每個a對應的pat組合數量...
PAT乙級月餅
1020 月餅 25 分 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量 總售價 以及市場的最大需求量,請你計算可以獲得的最大收益是多少。注意 銷售時允許取出一部分庫存。樣例給出的情形是這樣的 假如我們有 3 種月餅,其庫存量分別為 18 15 1...