知名电子商务网站有哪些,洛阳建设信息网站,做网站要会哪些知识,桂林市网站建设描述
一个数如果恰好等于它的各因子(该数本身除外)子和#xff0c;如#xff1a;6321。则称其为“完数”#xff1b;若因子之和大于该数#xff0c;则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。
输入描述#xff1a;
题目没有任何输入。
输出描述#…描述
一个数如果恰好等于它的各因子(该数本身除外)子和如6321。则称其为“完数”若因子之和大于该数则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。
输入描述
题目没有任何输入。
输出描述
输出2到60之间所有“完数”和“盈数”并以如下形式输出 E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数) 其中两个数之间要有空格行尾不加空格。
思路
对于要求范围内(2-60)的每一个数 i 进行遍历对于从1开始到小于 i 的范围遍历如果是 i 的因数就累加最后判断因数的和与 i 的关系分别保存到不同的vector中按照题目要求输出。
源代码
#include iostream
#includevector
using namespace std;int main() {vectorint vectorE; //保存完数vectorint vectorG; //保存盈数for(int i2; i60; i){ //遍历int res 0;//对小于i的数遍历for(int j1; ji; j){ if(i%j 0){res j;}}if(res i){vectorE.push_back(i);}if(res i){vectorG.push_back(i);}}coutE:;for(auto it : vectorE){cout it;}coutendl;coutG:;for(auto it : vectorG){cout it;}coutendl;return 0;
}
// 64 位输出请用 printf(%lld)
提交结果