c语言一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子是1,2,3,且6=1+2+3,因此6是完数。编程找出500以内的所有完数,并按下面的格式输出其因子: 6是一个完数,它的因子是1,2,3。
时间: 2024-01-06 13:05:07 浏览: 68
好的,针对你的问题,我可以给你提供以下C语言代码示例:
```c
#include <stdio.h>
int main() {
int i, j, sum;
printf("500以内的完数为:\n");
for (i = 1; i <= 500; i++) {
sum = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sum += j; // 累加因子
}
}
if (sum == i) { // 如果累加结果等于i,则i是完数
printf("%d是一个完数,它的因子是", i);
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
printf("%d,", j); // 输出因子
}
}
printf("%d。\n", i);
}
}
return 0;
}
```
运行这段代码后,程序会输出500以内的所有完数,并按要求输出其因子。程序使用了两层循环,外层循环遍历1~500之间的所有数,内层循环计算当前数的因子之和,并判断是否与当前数相等。如果相等,则输出当前数以及其因子。
阅读全文