- 一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
- N
- ? its fastors are ? ? ?
#include<iostream>
using namespace std;
int main()
{
int a[1000];
int i,j,k=0,n,t,sum=0;
cin>>n;
for(i=2;i<n;i++)
{
k=0;
sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
a[k]=j; //将因子存到一个整型数组里面
k++;
sum+=j;
}
}
if(sum==i)
{
cout<<i<<" its fastors are";
for(t=0;t<k;t++)
cout<<" "<<a[t]; //很好地解决输出格式问题
cout<<endl;
}
}
}