
编写程序找出1000以内的完数,并按以下格式输出其因子:6,it's factors are 1,2,3
程序运行起来达不到效果是什么原因?
初学者求赐教,万分感谢

编写程序找出1000以内的完数,并按以下格式输出其因子:6,it's factors are 1,2,3
程序运行起来达不到效果是什么原因?
初学者求赐教,万分感谢
关注
#include<iostream>
using namespace std;
int main()
{
int s;
cout<<"1000以内完数有"<<'\n'; //若一个数等于其因数之和,则为完数
for(int i=1;i<=1000;i++)
{
s=0; //s值初始化
for(int j=1;j<i;j++) //求一个数的因数,若是则累加到s
{
if(i%j==0) { //判断此时的j是否为i的因子
s+=j;
}
}
if(s==i){
cout<<s<<",it's factors are"<<'\t';
for(int k=1;k<i;k++)
{
if(i%k==0)
cout<<k<<'\t';
}
cout<<"\n";
}
}
return 0;
}