C语言程序编程怎么写。?

如果一个数恰好等于它的因子之和 这个数就称为完数 例如六的因子为123 而6=1+2+3 因此60万数编程找出1000以内的所有函数?怎么编写程序


#include <stdio.h>

// 计算给定数字的因子之和
int sum_of_factors(int num) {
    int sum = 0;
    for (int i = 1; i <= num / 2; i++) {
        if (num % i == 0) {
            sum += i;
        }
    }
    return sum;
}

int main() {
    printf("1000以内的完数:\n");

    // 遍历1到1000之间的整数
    for (int i = 1; i <= 1000; i++) {
        // 检查当前数是否为完数
        if (i == sum_of_factors(i)) {
            printf("%d\n", i);
        }
    }

    return 0;
}