题解 | #完数与盈数#

完数与盈数

http://www.nowcoder.com/practice/df0d850e41894d06a165bf445ec8a8b4

#include<iostream>
#include<cstdio>
#include<vector>
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);
        }
    }
    printf("E:");                     //打印输出
    for(int i=0;i<numberE.size();++i){
        printf(" %d",numberE[i]);
    }
    printf(" G:");
     for(int i=0;i<numberG.size();++i){
        printf(" %d",numberG[i]);
    }
    printf("\n");
    return 0;
}
全部评论

相关推荐

去B座二楼砸水泥地:不过也可以理解,这种应该没参加过秋招
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务