//求完数 一个数恰好等于它因数的和,不包括它本身
//例: 28 = 1 + 2 + 4 + 7 + 14
#include <stdio.h>
int main() {
int i,n;
// 输入要遍历的范围
printf("输入范围:");
scanf("%d", &n);
// 遍历范围
for (i = 2; i <= n; i++) {
int s = 0,j;
// 判断是否是完数 从 1 到 i-1 能否被 i 整除
for (j = 1; j < i; j++) {
// 如果能被整除就加入计算和
if (i % j == 0) s = s + j;
}
// 如果和与原数相等,则是完数
if (s == i) printf("%d是完数\n",i);
}
return 0;
}