c++语言程序设计。

编写一个函数,判断一个整数是否为完全数,如果是,返回1,否则返回0。并编写主函数调用此函数输出100以内的所有完全数。

这是问作业吧,,
完全数是指一个正整数等于除它本身外的所有因子之和。如6的因子有1、2、3,而6=1+2+3,所以6是完全数。
C语言的实现:

#include <stdio.h>

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

int main() {
    printf("100以内的完全数有:\n");
    for (int i = 1; i <= 100; i++) {
        if (is_perfect_number(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
    return 0;
}

运行结果:

100以内的完全数有:
6 28