完数与盈数

完数VS盈数

http://www.nowcoder.com/questionTerminal/ccc3d1e78014486fb7eed3c50e05c99d

#include <iostream>
#include <cstdio>
#include <string>

using namespace std;

//陈独秀的代码
// int main(){
//     printf("E: 6 28\nG: 12 18 20 24 30 36 40 42 48 54 56 60");
// }

int main(){
//     int arr[]={1,2,3,5,7,11,13,17,19,23};//4也是因子    //#1
    int a[61][30];    //#2
    int sum[60];

    int e[60];
    int g[60];
    int m=0;
    int n=0;
    for(int i=2;i<=60;++i){//这里想让i从1-60,必须a的长度为6!!!!!!!!!!!!!!!    //#
        int k=0;//随每个i变化,初始化应该在循环里    //#3
        for(int j=1;j<=30&&j<i;++j){
            if(i%j==0){
                a[i][k]=j;
                ++k;
            }
        }
        sum[i]=0;
        for(int p=0;p<k;++p){
            sum[i]+=a[i][p];
        }
        if(sum[i]==i)
        {
            e[m]=i;
            ++m;
        }else if(sum[i]>i){
            g[n]=i;
            ++n;
        }
    }
    printf("E:");
    for(int i=0;i<m;++i){
        printf(" %d",e[i]);
    }
    printf("\n");
    printf("G:");
    for(int i=0;i<n;++i){
        printf(" %d",g[i]);
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:55
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务