完数:一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如:6=1+2+3
//找出完数
#include<stdio.h>
int main()
{
int m,n,i,c[100],s=0;
scanf("%d", &m);//输入一个整数
for (n = 1; n <= m; n++)//找到1~m的整数
{
int j = 0;
for (i = 1; i < n; i++)//因子的判断条件(因子不包括这个数本身)
{
if (n % i == 0)
{
c[j] = i; j++;//存因子到数组中
}
}
for (int q = 0; q < j; q++)
{
s += c[q];//因子之和
}if (n == s)printf("%d\n", n); //判断因子之和是否等于这个数本身
s = 0;
}
return 0;
}