C++程序填空
一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6的因子为1,2,3而6=1+2+3。因此6是"完数"。编程序找出1000以内的所有完数,并按下面格式输出其因子...
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6的因子为1,2,3而6=1+2+3。因此6是"完数"。编程序找出1000以内的所有完数,并按下面格式输出其因子: 6 its factors are 1,2,3
#include <iostream>
using namespace std;
int main()
{int k[11];
int i,a,n,s;
for (a=2;a<=1000;a++)
{n=0;
s=a;
for (i=1;i<a;i++)
if (( ① )==0)
{n++;
②
k[n]=i; // 将找到的因子赋给k[1]┅k[10]
}
if (s==0)
{cout<<a<<" is a 完数"<<endl;
cout<<"its factors are:";
for (i=1;i<n;i++)
cout<< ③ <<" ";
cout<<k[n]<<endl;
}
}
return 0;
} 展开
#include <iostream>
using namespace std;
int main()
{int k[11];
int i,a,n,s;
for (a=2;a<=1000;a++)
{n=0;
s=a;
for (i=1;i<a;i++)
if (( ① )==0)
{n++;
②
k[n]=i; // 将找到的因子赋给k[1]┅k[10]
}
if (s==0)
{cout<<a<<" is a 完数"<<endl;
cout<<"its factors are:";
for (i=1;i<n;i++)
cout<< ③ <<" ";
cout<<k[n]<<endl;
}
}
return 0;
} 展开
2个回答
展开全部
#include <iostream>
using namespace std;
int main()
{int k[11];
int i,a,n,s;
for (a=2;a<=1000;a++)
{n=0;
s=a;
for (i=1;i<a;i++)
if ((a%i )==0)//①
{n++;
s-=i;//②
k[n]=i; // 将找到的因子赋给k[1]┅k[10]
}
if (s==0)
{cout<<a<<" is a 完数"<<endl;
cout<<"its factors are:";
for (i=1;i<n;i++)
cout<< k[i] <<" ";//③
cout<<k[n]<<endl;
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询