写出C语言代码:输入一个正整数n,找出1-n之间的所有完数。一个正整数如果恰好等于它的所有因子之和,则这个数被称为“完数”。
时间: 2023-11-22 18:55:27 浏览: 276
当然,我可以为您提供C语言代码来解决您的问题:
```
#include <stdio.h>
int main() {
int n, i, j, sum;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i=1; i<=n; i++) {
sum = 0;
for (j=1; j<i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d是完数。\n", i);
}
}
return 0;
}
```
解释一下代码:
我们首先接收用户的输入n。我们循环1到n,计算每个数字的所有因子之和。如果因子之和等于数字本身,则它是一个完数。我们输出所有完数。
阅读全文