描述一个数如果恰好等于它的因子之和,这个数就称为完数。 例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。 编程序找出N之内的所有完数,并按下面格式输出其因子:
输入: N
输出:x its factors are a b c.... (其中x为完数,a.b.c......这些为该完数的因子,因子和为完数)
#include<iostream>
using namespace std;
int main()
{
int i, j, sum = 0, N;
cin >> N;
for (i = 1;i < N;i++)
{
sum = 0;
for (j = 1;j < i;j++)
{
if ((i % j) == 0)
{
sum += j;
}
}
if (sum == i)
{
cout << i << " " << "its factors are ";
cout << "1 ";
for (j = 2;j < i;j++)
{
if ((i % j) == 0)
{
cout << j <<" ";
}
}
cout<<endl;
}
}
return 0;
}