解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int a;
int b = 0;
int i,j,k;
scanf("%d", &a);
for (i = 1; i <= a; i++)
{
b = 0;//每次回溯为0
for (j = 1; j <= i; j++)
{
if (i % j == 0 && i != j)//完数不包括本身
{
b += j;//将非本身的因子相加
}
}
if (b == i)//判断是不是完数
{
printf("%d its factors are ", b);
for (k = 1; k <= b; k++)//打印所有因子
{
if (b % k == 0 && b != k)//因子不包括本身
printf("%d ", k);
}
printf("\n");
}
}
return 0;
}
0.0分
0 人评分