前情提要:
完数的定义:即所有因数(不包括本身)之和为自己的。如:6的因数是1 2 3,因为1 + 2 +3 = 6所以6是一个完数,不多叨叨,直接上代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i,N,j, sum; //i表是N以内的可能完数,N表示范围的最大值,j表示可能的因数,sum表示因数求值
scanf("%d", &N);//输入范围
printf("%d以内的完数为:", N);
sum = 0;//对sum初始化
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <i; j++)
{
if (i % j == 0)
{
sum += j;
}
}
if (sum == i)//判断是否为完数
printf("%5d", sum);
sum = 0;//对sum初始化,否则会是原先的sum值
}
return 0;
}
求点赞