完数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; }
算法题解 文章被收录于专栏
不定期更新一些算法题解,有什么问题可以随时留言~