C语言:1017.完美数的判断
一个数=所有因子之和(不包括本身)
eg: 6=1+2+3
题解:
#include<stdio.h>
int main()
{
int n;
int a[100];
int count,sum;
scanf("%d", &n);
for(int i=6;i<=n;i++){ //从6开始更优
count=0; //重置一下
sum=0;
for(int j=1;j<=i/2;j++){ //实际上取1/2即可
if(i%j==0){
a[count++]=j;
sum+=j;
}
}
if(sum==i){
printf("%d its factors are",i);
for(int k=0;k<count;k++)
printf(" %d",a[k]);
printf("\n");
}
}
return 0;
}