#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<algorithm> #include<map> #include<vector> #include<queue> #include<set> using namespace std; //每次读入一个数字就把每位相加,并插入set中后统计个数 int getFriendNum(int num){ int sum=0; while(num!=0){ sum += num%10; num /=10; } return sum; } int main(){ set<int> s; int n,num; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&num); s.insert(getFriendNum(num)); } printf("%d\n",s.size()); //for(set<int>::iterator it=s.begin(); it != s.end(); it++){ //这样也可以 for(auto it=s.begin(); it != s.end(); it++){ //auto自动确定类型 if(it != s.begin()) printf(" "); printf("%d",*it); } system("pause"); return 0; }