并按下面格式输出其因子:6,its factors are 1,2,3
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
for(i=1;i<=1000;i++)
{ k=0;
for(j=1;j<i;j++)
if(i%j==0)
k=k+j;
{
if(k==i)
cout<<i<<endl;
}
}
cout<<"its factors are ";
for(j=1;j<i;j++)
if(i%j==0)
cout<<j<<endl;
return 0;
}
这是我写的程序,可是能求出那三个完数,却不能输出其因子。求解!!!
#include<iostream>
using namespace std;
int main()
{
int i,j,k;
for(i=1;i<=1000;i++)
{
k=0;
for(j=1;j<i;j++)
{ //求因子之和
if(i%j==0)
k=k+j;
}
if(k==i)
{
cout<<i<<",";//cout<<i<<endl;
cout<<"its factors are:";
for(j=1;j<i;j++)
{//输出因子
if(i%j==0)
cout<<j<<",";
}
cout<<endl;
}
}
//下面的语句应该放循环中去。
//cout<<"its factors are ";
//for(j=1;j<i;j++)
//if(i%j==0)
//cout<<j<<endl;
return 0;
}
结果: