完数VS盈数
完数VS盈数
http://www.nowcoder.com/questionTerminal/ccc3d1e78014486fb7eed3c50e05c99d
思路
求出 2 到 60 之间数字的因子之和,然后进行比较,判断出是完数还是盈数,并用两个数组分别去存储。
#include<iostream>
#include<vector>
using namespace std;
int judge(int num){
int sum = 0;
for(int i = 1; i < num; i ++){
if(num % i == 0)
sum += i;
}
if(sum == num) return 1;
if(sum > num) return 0;
return -1;
}
int main(){
vector<int> e, g;
for(int i = 2; i <= 60; i ++){
if(judge(i) == 1) e.push_back(i);
else if(judge(i) == 0) g.push_back(i);
}
cout << "E:";
for(int i : e) cout << " " << i;
cout << endl;
cout << "G:";
for(int i : g) cout << " " << i;
return 0;
} 算法题解 文章被收录于专栏
不定期更新一些算法题解,有什么问题可以随时留言~

SHEIN希音公司福利 278人发布