完全数:对于一个自然数,所有比它小的所有因数之和,等于它本身,它就是个完全数。如 。完全数要去掉和自己相等的数例如完全数6就要去掉6这个因数
因数是指:除数能将被除数整除的除数,例如被除数6能被1,2,3,6整除,不能被4,5整除,那么1,2,3,6就是6的因数。
具体代码如下:
#include <stdio.h>
int main()
{
int i = 0;
int n = 0;
scanf("%d", &n);
for (i = 2; i <= n; i++)//先得出2~n之间的数
{
int sum = 0;//设置初始sum必须要在for的里面,设置在外面的话每次循环一个i,sum的值会一直加不会被归零导致后面sum不等与i
int a = 1;
for (a = 1; a < i; a++)//求1~n-1之间的自然数
{
if (i % a == 0)
{
sum = sum + a;//使个个符合条件的a相加起来
}
}
if (sum == i)
{
printf("%d\n", i);
}
}
return 0;
}