PAT A1120 Friend Numbers [模拟]

题目描述

链接
在接收输入数据的时候就把该数字的每一位相加,并把结果插入一个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\n", ans.size());
    for(auto it=ans.begin(); it!=ans.end(); it++){
        if(it != ans.begin()) printf(" ");
        printf("%d", *it);
    }
    printf("\n");
}

posted @ 2019-09-05 14:00  Doragd  阅读(89)  评论(0编辑  收藏  举报