完数:一个数的因子之和等于本身,则为完数
比如:6/3, 6/2, 6/1, 则 6=1+2+3;
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int sum = 0;
int i = 0;
int j = 0;
for (i = 1; i <= 1000; i++)
{
sum = 0;
//完数因子范围为1到i-1;
for (j = 1; j <i ; j++)
{
//如果i能整除j的话,我们就说是他的因子,并相加;
if (i % j == 0)
{
sum += j;
}
if (sum == i)
{
//判断是否是完数,是的话就打印;
printf("0-1000内%d是完数\n", i);
for (j = 1; j < i; j++)
{
//如果是完数就打印他的因子;
if (i % j == 0)
{
printf("%d的因数有%d,", i,j);
}
}
printf("\n");
}
}
}
return 0;
}