如果一个数恰好等于它的因子之和 这个数就称为完数 例如六的因子为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;
}
6 its factors are 1,2,3