问题描述:
找出1000以内的所有“完全数”,所谓“完全数”是指一个数恰好等于它的因子和,例如 6=1+2+3,我们就称6是完数。
参考代码:
#include<iostream>
using namespace std;
int main()
{int i,j,m,sum=0;
for(m=2;m<=1000;m++)
{
for(i=1;i<=m/2;i++)
if(m%i==0)
sum+=i; //判断M是不是可以构成完全数
if(sum==m)
for(j=1;j<=m/2;j++)
{ if(m%j==0)
cout<<j<<"+";
if(j==m/2)
cout<<"\b"<<"="<<sum<<endl;
} //解决输出问题
sum=0;
}
}