题解 | #完数VS盈数#
完数VS盈数
http://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d
本道题算是比较简单的题目吧,做起来比较顺手。 首先创建一个函数,得到它们的因数和。
然后再用两个向量动态添加完数和盈数。 最后再输出就可以啦
#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
vector<int> numberE;
vector<int> numberG;
int Sum(int x){
int sum=0;
for(int i=1;i<x;i++){
if(x%i==0){
sum+=i;
}
}
return sum;
}
int main(){
for(int i=2;i<=60;i++){
if(i==Sum(i)){
numberE.push_back(i);
}else if(i<Sum(i)){
numberG.push_back(i);
}
}
cout<<"E:";
for(int i=0;i<numberE.size();i++){
cout<<" "<<numberE[i];
}
cout<<endl;
cout<<"G:";
for(int i=0;i<numberG.size();i++){
cout<<" "<<numberG[i];
}
return 0;
}