原创 PAT 1029 舊鍵盤

1029 舊鍵盤(20 分) 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字符就不會出現。現在給出應該輸入的一段文字、以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。 輸入格式: 輸入在 2 行中分別給出應該輸入的文字、以及實際被輸

原创 排序 —— PAT 1015 德才論 (25)

1015 德才論 (25) 宋代史學家司馬光在《資治通鑑》中有一段著名的“德才論”:“是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。” 現給出一批考生的

原创 PAT 1028 人口普查

1028 人口普查(20 分) 某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程序,找出鎮上最年長和最年輕的人。 這裏確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過 200 歲的老人,而今天是 2014 年

原创 PAT 1017 A除以B

1017 A除以B 本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。 輸入格式: 輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。

原创 PAT 1022 D進制的A+B

1022 D進制的A+B(20 分) 輸入兩個非負 10 進制整數 A 和 B (≤2​30​​−1),輸出 A+B 的 D (1<D≤10)進制數。 輸入格式: 輸入在一行中依次給出 3 個整數 A、B 和 D。 輸出格式: 輸出 A+

原创 PAT 1025 反轉鏈表

1025 反轉鏈表(25 分) 給定一個常數 K 以及一個單鏈表 L,請編寫程序將 L 中每 K 個結點反轉。例如:給定 L 爲 1→2→3→4→5→6,K 爲 3,則輸出應該爲 3→2→1→6→5→4;如果 K 爲 4,則輸出應該爲 4

原创 1021 個位數統計

1021 個位數統計(15 分)——字符串處理 給定一個 k 位整數 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1​​+d​0​​ (0≤d​i​​≤9, i=0,⋯,k−1, d​k−1​​>0),請編寫程序統計每種不同的

原创 PAT 1019 數字黑洞

1019 數字黑洞(20 分) 給定任一個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到一個新的數字。一直重複這樣做,我們很快會停在有“數字黑洞”之稱

原创 PAT 1016 部分A+B

1016 部分A+B 正整數 A 的“D​A​​(爲 1 位整數)部分”定義爲由 A 中所有 D​A​​ 組成的新整數 P​A​​。例如:給定 A=3862767,D​A​​=6,則 A的“6 部分”P​A​​ 是 66,因爲 A 中有

原创 C++中string

C++中string erase函數的使用 erase函數的原型如下: (1)string& erase ( size_t pos = 0, size_t n = npos ); (2)iterator erase ( iterator

原创 貪心算法——PAT 1020 月餅

1020 月餅(25 分) 月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定所有種類月餅的庫存量、總售價、以及市場的最大需求量,請你計算可以獲得的最大收益是多少。 注意:銷售時允許取出一部分庫存。樣例給出的情

原创 五大常用算法——貪心算法

貪心算法簡介:   貪心算法是指:在每一步求解的步驟中,它要求“貪婪”的選擇最佳操作,並希望通過一系列的最優選擇,能夠產生一個問題的(全局的)最優解。   貪心算法每一步必須滿足一下條件:   1、可行的:即它必須滿足問題的約束。   2

原创 PAT 1014 福爾摩斯的約會 (20)

1014 福爾摩斯的約會 (20) 大偵探福爾摩斯接到一張奇怪的字條:“我們約會吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大偵探很快就明白了,字條上奇怪的亂碼實際上