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;
}
为什么不行?
展开
 我来答
忘至白葬不情必0T
推荐于2017-09-25 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.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;
}
我的视频乐园
2020-12-09 · TA获得超过117个赞
知道答主
回答量:127
采纳率:0%
帮助的人:25.2万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式