PAT 1064 朋友數 20分

2021-10-05 18:26:58 字數 1030 閱讀 1130

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

輸入格式:

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

輸出格式:

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

輸入樣例:

8

123899

51998

2733

3612

輸出樣例:

436

926

遍歷字串直接計算朋友數,再放到map陣列中,以朋友證號作下標,陣列內儲存的資訊代表該朋友證號出現的次數。注意map陣列要開的足夠大。

#include

using

namespace std;

intmain()

;//題目保證所有數字小於10^4,邊界情況是99999,朋友證號即為45,這裡一定要保證陣列開的範圍比45大 。

for(

int i=

0;i)bool flag =

false

;int cnt=0;

for(

int i=

0;i<

50;i++)if

(map[i]

>

0) cnt++

; cout

int i=

0;i<

50;i++)if

(map[i]

>0)

return0;

}

pat乙級題解大全 c++

PAT 1064 朋友數 20分

如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入格式 輸入第一行給出正整數 n。隨後一行給出 n 個正...

C程式 PAT 1064 朋友數

如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入第一行給出正整數 n。隨後一行給出 n 個正整數,數字...

PAT乙級 1064 朋友數 20分

如果兩個整數各位數字的和是一樣的,則被稱為是 朋友數 而那個公共的和就是它們的 朋友證號 例如 123 和 51 就是朋友數,因為 1 2 3 5 1 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。輸入格式 輸入第一行給出正整數 n。隨後一行給出 n 個正...