完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
如果一个数恰好等于它的真因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。截至2018年,相关研究者已经找到51个完全数。
可实现找到2到任意数之间的完数
#include <stdio.h>
int main(int argc, char const *argv[])
{
int i, j, k;
int num;
scanf("%d", &k); //输入k的值
for (i = 2; i <= k; i++) //在2到k之间找完数
{
num = 0;
for (j = 1; j <= i / 2; j++) //试除法,能不能被i整除,从1开始找,直到等于i/2
{
{
if (i % j == 0) //找到能被i整除的数了
num = num + j;
}
if (num == i)
printf("%d ", num);
}
return 0;
}