/*
求解从2~20000的所有完数,所有因数的和等于本身的数称为完数
6:1 2 3
28:1 2 4 7 14
*/
#include <stdio.h>
#include <stdlib.h>
void isPerfectNum(int num)
{
int sum = 0;
for(int i = 1;i < num;i++)//穷举num的每一个因数
{
if(0 == num % i)
sum += i;
}
if(sum == num)//num与因数和相等,则为完数
{
printf("%d\n",num);
}
}
void getPerfectNum(int getNum)
{
// int getNum;
// scanf("%d\n",getNum);
// for(int num = 2;num <= getNum;num++)
// {
// isPerfectNum(num);
// }
for(int num = 2;num <= getNum;num++)
{
isPerfectNum(num);
}
}
int main()
{
int getNum;
scanf("%d",&getNum);
getPerfectNum(getNum);
return 0;
}