GPT答: |
7i24.cn
|
```c
#include <stdio.h>
int main() {
int start, end;
printf("请输入起始数和结束数:");
scanf("%d %d", &start, &end);
for (int i = start; i <= end; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) { // 判断j是否为i的因子
sum += j;
}
}
if (sum == i) { // 判断是否为完数
printf("%d ", i);
}
}
return 0;
}
```
注意,这个程序只能找到小于等于结束数的完数。如果要找到所有完数,需要将 `for` 循环中的 `end` 改成一个较大的值。
|