题解 | #完全数计算#

完全数计算

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);
}


全部评论

相关推荐

八股刚起步,看了javaguide,小林coding,还有面渣,感觉面渣是体验最好的,请问只看面渣够用吗,有不完善的需要补吗?
码农索隆:先背最基础的知识,然后理解情景题,现在面试大多数喜欢问情景题,更考验面试者的基础和临场发挥情况
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
希望奇迹发生的布莱克...:真的是 现在卷实习就是没苦硬吃
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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