题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336
题解:
1 /* 2 *本题采用集合是最好的选择,不用判重 3 */ 4 #include <iostream> 5 #include<set> 6 using namespace std; 7 8 int main() { 9 int n; 10 cin >> n; 11 set<int>ans; 12 for (int i = 0; i < n; i++) { 13 int sum = 0, temp; 14 cin >> temp; 15 while (temp) { 16 sum += temp % 10; 17 temp /= 10; 18 } 19 ans.insert(sum); 20 } 21 cout << ans.size() << endl; 22 set<int>::iterator it = ans.begin(); 23 int cnt = 0;//采用cnt变量是为了让输出的最后一个数后面没有空格 24 while (true) { 25 cout << *it; 26 cnt++; 27 if (cnt != ans.size()) { 28 cout << " "; 29 it++; 30 } 31 else break; 32 } 33 return 0; 34 }