PAT-B 1064 朋友數
PAT-B 1064 朋友數
https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336
題目
如果兩個整數各位數字的和是一樣的,則被稱為是“朋友數”,而那個公共的和就是它們的“朋友證號”。例如 123 和 51 就是朋友數,因為 1+2+3 = 5+1 = 6,而 6 就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。
輸入
輸入第一行給出正整數 N。隨後一行給出 N 個正整數,數字間以空格分隔。題目保證所有數字小於 10^4。
輸出
首先第一行輸出給定數字中不同的朋友證號的個數;隨後一行按遞增順序輸出這些朋友證號,數字間隔一個空格,且行末不得有多餘空格。
樣例輸入
8
123 899 51 998 27 33 36 12
樣例輸出
4
3 6 9 26
分析
使用字串接收資料。
C++程式
#include<iostream>
#include<string>
using namespace std;
const int N=37;//所有數字都小於10^4因此每個數字各位之和小於等於36(9999)
bool a[N];
int main()
{
int n;
cin>>n;
while(n--)
{
string s;
cin>>s;
int id=0;
for(int i=0;i<s.length();i++)
id+=s[i]-'0';
a[id]=true;//有朋友證號 id
}
int num=0;
for(int i=0;i<N;i++)
if(a[i])
num++;
cout<<num<<endl;
bool flag=false;
for(int i=0;i<N;i++)
{
if(a[i])
{
if(flag) cout<<" ";
cout<<i;
flag=true;//標記已經有輸出了
}
}
cout<<endl;
return 0;
}
相關文章
- PAT-B 1013 數素數 【素數】
- PAT-B 1051 複數乘法
- PAT-B 1007 素數對猜想【素數】
- PAT-B 1023 組個最小數
- PAT-B 1048 數字加密【字串】加密字串
- PAT-B 1062 最簡分數
- PAT-B 1091 N-自守數
- PAT-B 1057 數零壹【進位制】
- PAT-B 1060 愛丁頓數【排序】排序
- ACwing1064. 小國王
- PAT-B 1030 完美數列【二分】
- PAT-B 1084 外觀數列 【模擬】
- PAT-B 1079 延遲的迴文數【字串+大數加法】字串
- PAT-B 1019 數字黑洞【陣列+模擬】陣列
- PAT-B 1017 A除以B【模擬 大數除法】
- PAT-B 1049 數列的片段和【規律】
- PAT-B 1056 組合數的和【規律】
- PAT-B 1021 個位數統計【對映】
- N1064編譯鏈編譯編譯
- cf1064D. Labyrinth(01BFS)
- PAT-B 1024 科學計數法【模擬+字串】字串
- PAT-B 1012 數字分類【簡單模擬】
- PAT-B 1002 寫出這個數 【字串+遞迴列印】字串遞迴
- PAT-B 1006 換個格式輸出整數【遞迴列印】遞迴
- PAT-B 1046 划拳
- MySQL 8.0.26 bug ERROR 1064(42000) -master-data is deprecated and will be removeMySqlErrorASTREM
- MySQL建立觸發器時報錯Error Code: 1064MySql觸發器Error
- 朋友
- L1-020 帥到沒朋友 分數 20
- PAT-B 1043 輸出PATest
- PAT-B 1052 賣個萌
- PAT-B 1076 Wifi密碼WiFi密碼
- PAT-B 1004 成績排名
- PAT-B 1015 德才論【排序】排序
- PAT-B 1016 部分A+B
- cf1064E. Dwarves, Hats and Extrasensory Abilities(二分 互動)
- PAT-B 1020 月餅【貪心法】
- PAT-B 1027 列印沙漏 【模擬】