题解 | #完全数计算#

完全数计算

http://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84

对于某个自然数  i*i<=n即可,不用i<n。用除法不用取余
#include<stdio.h>
int main(){
int number;
scanf("%d", &number);
    int count = 0;
    for(int i=1; i<=number; i++){
        if(i==1)
            continue;
        int all = 1;
        for(int j=2; j*j<=i; j++){
            int q = i/j;
            if(q*j==i){
                if(q!=j)
                    all = all+q+j;
                else
                    all = all+q;
            }
        }
        if(all == i)
            count++;
    }
    printf("%d\n", count);
}


全部评论

相关推荐

点赞 评论 收藏
分享
07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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