適合初步練習PAT乙級 (1064) 朋友數

2021-10-02 14:52:31 字數 834 閱讀 1902

如果兩個整數各位數字的和是一樣的,則被稱為是「朋友數」,而那個公共的和就是它們的「朋友證號」。例如 123 和 51 就是朋友數,因為 1+2+3 = 5+1 = 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。

輸入格式:

輸入第一行給出正整數 n。隨後一行給出 n 個正整數,數字間以空格分隔。題目保證所有數字小於 10

​4​​。

輸出格式:

首先第一行輸出給定數字中不同的朋友證號的個數;隨後一行按遞增順序輸出這些朋友證號,數字間隔乙個空格,且行末不得有多餘空格。

輸入樣例:

8123 899 51 998 27 33 36 12

輸出樣例:

43 6 9 26

#include

#include

#include

#include

using

namespace std;

intmain()

re.insert

(sum);}

cout << re.

size()

<< endl;

for(set<

int>

::iterator it = re.

begin()

; it != re.

end(

); it++

)return0;

}

思路: 注意本題即使沒有兩個整數,也可以計算朋友證號,不用太在意。利用seta不能插入重複元素的特性,將輸入的整數,計算其各個位數的和,然後扎入set中。再則就是set只能通過迭代器訪問。

適合初步練習PAT乙級 (1019) 數字黑洞

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...

適合初步練習PAT乙級 (1067) 試密碼

當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...

適合初步練習PAT乙級 (1015) 德才論

宋代史學家司馬光在 資治通鑑 中有一段著名的 德才論 是故才德全盡謂之聖人,才德兼亡謂之愚人,德勝才謂之君子,才勝德謂之小人。凡取人之術,苟不得聖人,君子而與之,與其得小人,不若得愚人。現給出一批考生的德才分數,請根據司馬光的理論給出錄取排名。輸入格式 輸入第一行給出 3 個正整數,分別為 n 10...