【PAT甲级】1120 Friend Numbers (20分)(SET遍历)

题意:

输入一个正整数N(<=10000),接着输入N个正整数,输出它们十进制上每一位的和的个数(不计相同的数),并从小到大输出。

AAAAAccepted code:

 1 #define HAVE_STRUCT_TIMESPEC
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int a[10007];
 5 set<int>v;
 6 int main(){
 7     ios::sync_with_stdio(false);
 8     cin.tie(NULL);
 9     cout.tie(NULL);
10     int n;
11     cin>>n;
12     for(int i=1;i<=n;++i)
13         cin>>a[i];
14     for(int i=1;i<=n;++i){
15         int temp=0;
16         while(a[i]){
17             temp+=a[i]%10;
18             a[i]/=10;
19         }
20         v.insert(temp);
21     }
22     cout<<v.size()<<"
";
23     set<int>::iterator it=v.begin();
24     while(it!=v.end()){
25         if(it==v.begin())
26             cout<<*it;
27         else
28             cout<<" "<<*it;
29         ++it;
30     }
31     return 0;
32 }
原文地址:https://www.cnblogs.com/ldudxy/p/12380507.html