题解 | #完全数计算#

完全数计算

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

#include <stdio.h>
#include <string.h>
#include <math.h>
//参考素数的计算吧,主要是用sqrt n减少循环次数
int is_total_num(int n);
int main()
{ 
    int n;
    int count;
    while (scanf("%d", &n) != EOF)
    {
        count = 0;
        for (int j = 2; j <= n; j++)
        {
            if (is_total_num(j))
                count++;
        }
        printf("%d\n", count);
    }

    return 0;
}

int is_total_num(int n)
{
    int ret = 0;
    for (int i = 2; i <= sqrt(n); i++)
    {
        if (n%i == 0)
        {
            ret += i;
            if (n / i != i)
                ret += n / i;
        }
    }
    //加上因子1
    ret++;
    if (ret != n)
        ret = 0;
    return ret;
}
全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
你找工作的时候用AI吗?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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