原题
题解
基本操作。。。
好像sort不能对set排序(C++小白),所以用vector,手动实现去重
代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int calcFriendId(int n) {
int sum = 0;
while (n) {
sum += n % 10;
n = n / 10;
}
return sum;
}
int main(void) {
vector<int> friendIdVector;
int n;
cin >> n;
for (int i = 0;i < n;i++) {
int number;
cin >> number;
int friendId = calcFriendId(number);
if (!count(friendIdVector.begin(),friendIdVector.end(),friendId)) {
friendIdVector.push_back(friendId);
}
}
sort(friendIdVector.begin(),friendIdVector.end());
cout << friendIdVector.size() << endl;
for (int i = 0;i < friendIdVector.size() - 1;i++) {
cout << friendIdVector[i] << " ";
}
cout << friendIdVector[friendIdVector.size() - 1] << endl;
return 0;
}
发表评论