一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6 的因子为 1 、 2 、 3,而 6=1+2+3,因此 6 是"
程序代码:为什么出来的结果只有1
#include <stdio.h>
int main()
{
int n,i,j,sum,be[200],k,f;
scanf("%d",&n);
for(i = 1;i<=n;i++)
{
k = 0;
sum = 0;
for(j = 1;j<=i;j++) //循环计算因子
{
if(i%j==0)
{
be[k] = j; //将因子存入数组,备用
sum+=j; //计算因子之和
k++;
}
}
if(sum==i)
{
printf("%d its factors are",i); //将完数输出
for(f=0;f<k;f++) printf(" %d",be[f]);
printf("\n");
}
}
return 0;
}









