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
", ans.size());
    for(auto it=ans.begin(); it!=ans.end(); it++){
        if(it != ans.begin()) printf(" ");
        printf("%d", *it);
    }
    printf("
");
}

原文地址:https://www.cnblogs.com/doragd/p/11465583.html