PAT 1064 朋友数
思路:
先按题意模拟,sort升序排序后,用unique函数元素去重,保证输出的朋友证号为唯一的
#include <bits/stdc++.h>
using namespace std;
int s[10001];
int a[10001];
int main(){
int n;
scanf("%d",&n);
int cnt=0;//计数
for(int i=0;i<n;i++){
scanf("%d",&s[i]);
int sum=0;//各位数之和
while(s[i]){
int x=s[i]%10;
sum+=x;
s[i]/=10;
}
a[cnt++]=sum;
}
sort(a,a+cnt);//升序排序
cnt= unique(a, a + cnt)-a;//元素去重
printf("%d\n",cnt);
for(int i=0;i<cnt;i++){
if(i==0) printf("%d",a[i]);
else printf(" %d",a[i]);
}
return 0;
}