题解 | #完全数计算#

完全数计算

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

暴力解法很容易想到但是占用内存大,时间复杂度高,外层n次内层n次需要n2

#include <stdio.h> int main(void) { int n, cnt = 0; scanf("%d",&n); getchar();

for(int i=1; i<=n; i++) // 输入数字n 外层循环取小于n的所有数字
{
    int sum=0;
    for(int j=1; j<i; j++) // 内层循环用小于n的数字去除
    {
        if(i % j == 0) // 能整除变成取余为0
            sum += j;
    }
    if(sum == i) //如果求和和输入数值相等计数加一
        cnt++;
}
printf("%d\t",cnt);
return 0;

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:32
点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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