题目

解法1
点击查看代码
#include <iostream>
#include <set>
using namespace std;
// 计算数位和
int tosum(int n) {
int ans = 0;
while (n > 0) {
ans += n % 10;
n /= 10;
}
return ans;
}
int main() {
int n;
scanf("%d", &n);
set<int> s;
// 直接计算 friend ID 并存入 set
for (int i = 0, num; i < n; i++) {
scanf("%d", &num);
s.insert(tosum(num));
}
// 输出 friend ID 的数量
printf("%d\n", int(s.size()));
// 依次输出所有 friend ID
bool first = true;
for (int id : s) {
if (!first) printf(" ");
printf("%d", id);
first = false;
}
return 0;
}
浙公网安备 33010602011771号