#include<stdio.h>
int main()
{
int n=0,i=0,sum;
int number;
scanf("%d",&number);
for (n = 2; n <number; n++)
{
sum = 0;
for (i = 1; i < n; i++)
{
if (n%i == 0)
{
sum += i;
}
}
if (sum == n)
{
printf("Prefectnumber %d its factors are ", n);//factors表示因子
for (i = 1; i < n; i++)
{
if (n%i == 0)
{
printf("%d ", i);
}
}
printf("\n");
}
}
return 0;
}
用for循环得到数的因子,并求其和,然后判断是否和原数相等,如果相等,则求其因子。