题解 | 完数VS盈数 格式大坑爹(自测和提交格式不同)
完数VS盈数
https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d
#include <iostream>
#include <vector>
using namespace std;
int main() {
int factorSum; // 因子总和
vector<int> factor; // 因子
vector<int> equalNumber; // 完数
vector<int> overNumber; // 盈数
vector<int>::iterator it; // 迭代器
for (int i = 2; i <= 60; i++) {
factor.clear(); // 清空动态数组/上一轮因子
factorSum = 0; // 清空上一轮因子总和
for (int j = 1; j < i; j++) { // 会保证 j < i
if (i % j == 0) {
// 向尾部插入 要含数据
// factor.pop_back 从尾部弹出,不用含参数
factor.push_back(j);
}
}
for (it = factor.begin(); it != factor.end(); it++) {
factorSum += *it; //高级指针,读取元素数据
}
if (factorSum == i) {
equalNumber.push_back(i);
} else if (factorSum > i) {
overNumber.push_back(i);
}
}
cout << "E:";
for (it = equalNumber.begin(); it != equalNumber.end();it++) {
cout<< " " << *it;
}
cout<<endl;
cout << "G:";
for (it = overNumber.begin(); it != overNumber.end(); it++) {
cout << " " << *it;
}
return 0;
}
#考研##复试练习#2025考研复试 文章被收录于专栏
复试ing,努力中。。。
查看13道真题和解析
字节跳动公司福利 1297人发布