C++求1000以内的完数
#include<iostream>usingnamespacestd;intmain(){intx,i,sum;if(x<=1000)for(i=0;i<=x;i++)...
#include<iostream>
using namespace std;
int main()
{
int x,i,sum;
if(x<=1000)
for(i=0;i<=x;i++)
{
sum+=i;
}
if(x%sum==0)
cout<<x<<endl;
return 0;
}
为什么不行? 展开
using namespace std;
int main()
{
int x,i,sum;
if(x<=1000)
for(i=0;i<=x;i++)
{
sum+=i;
}
if(x%sum==0)
cout<<x<<endl;
return 0;
}
为什么不行? 展开
2个回答
展开全部
你知道什么是完数么?完数是所有因子(除去自身)的和等于自身的数。
以下是正确代码
#include<iostream>
using namespace std;
int main()
{
int x,i,sum;
x=1;
while(x<=1000) //x要从1到1000循环。
{
sum=0; //每算一个新的x时,sum要清0
for(i=1;i<x;i++)
{
if(x%i==0) sum+=i; //如果i是x的因子,sum加上i
}
if(x==sum) //如果因子和等于本身
cout<<x<<' '<<endl;
x++;
}
return 0;
}
以下是正确代码
#include<iostream>
using namespace std;
int main()
{
int x,i,sum;
x=1;
while(x<=1000) //x要从1到1000循环。
{
sum=0; //每算一个新的x时,sum要清0
for(i=1;i<x;i++)
{
if(x%i==0) sum+=i; //如果i是x的因子,sum加上i
}
if(x==sum) //如果因子和等于本身
cout<<x<<' '<<endl;
x++;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询