完数
#include<stdio.h>
int main() {
int N;
scanf("%d",&N);
int sum;
int a = 0;
for (int i = 2;i < N ;i++) { //1.找出完数
sum = 0; //1.(1)遍历 1至N
for (int j = 1;j < i;j++) { //1.(2)遍历当前N的所有可能的因子
if ( i % j == 0) { //1.(3)是因子则加入sum,以方便后续的判断(判断sum与当前N即i的相等关系)
sum += j;
}
}
if ( sum == i ) { //2.输出完数的因子
if ( a == 0 ) { //第一次不输出“\n”,往后才输出\n。。。。。。
printf("%d its factors are ", sum);
} else {
printf("\n%d its factors are ", sum);
}
for (int j = 1; j < i ; j++) { //输出完数因子
if ( i % j == 0) {
printf("%d ",j);
}
}
a = 1; //"\n"的输出条件
}
}
return 0;
}
08-12
08-12
08-12