题目描述
链接
在接收输入数据的时候就把该数字的每一位相加,并把结果插入一个set集合中。因为set是有序的、不重复的,所以set的size值就是输出的个数,set中的每一个数字即所有答案的数字序列
代码
#include<bits/stdc++.h>
using namespace std;
map<int, int> mp;
int n,num;
int main(){
cin>>n;
set<int> ans;
for(int i=0;i<n;i++){
cin>>num;
int sum = 0;
while(num){
sum += num % 10;
num /= 10;
}
ans.insert(sum);
}
printf("%d
", ans.size());
for(auto it=ans.begin(); it!=ans.end(); it++){
if(it != ans.begin()) printf(" ");
printf("%d", *it);
}
printf("
");
}