题解 | #完全数计算#

完全数计算

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

#include<stdio.h>

int test(int num) {
    int mid = (num / 2) + 1;
    int i = 1;
    int add = 0;
    for (i = 1; i < mid; i++) {
        if (num % i == 0) {
            add += i;
        }
    }
    if (add == num)
        return 1;
    else
        return 0;

}

int main(void) {
    int i = 1;
    int j = 0;
    int n = 0;
    int count = 0;
    int mid = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        if (test(i) ==
                1) { //test函数是用来测试是否为完美数,返回1证明这个数是,返回0则不是
            count++;
        } else {
            ;
        }
    }
    printf("%d", count);
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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