一个小程序,请各位高手指点,不胜感激!!!

笑面书生111 2006-04-11 10:03:53
求1—100之间的“完数”
我也写了一个小程序(在VC中),不知错在哪里。请详细指教!
#include<iostream>
using namespace std;
void main()
{
int i,j,sum=0;
for (i=2;i<=1000;i++)
for (j=1;j<i;j++)
{ if (i%j==0)
sum+=j;

if (sum==i)
cout<<i;
}
}
...全文
319 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
北狐狸 2006-04-14
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
bool isWanShu(int i)
{
int sum=0;
for (int id=1; id<i; id++)
{
if(i%id == 0)
sum+=id;
}
return id == sum ? true : false;
}

void main()
{
for(int shu=1; shu<1000;shu++)
{
if(isWanShu(shu))
cout<<endl<<shu;
}
cout<<endl;
}
kaka_newplayer 2006-04-12
  • 打赏
  • 举报
回复
up
lovetsfuer 2006-04-12
  • 打赏
  • 举报
回复
学习!!!
北狐狸 2006-04-12
  • 打赏
  • 举报
回复
完数?
某数所有因数之和等于该数
bombwang 2006-04-12
  • 打赏
  • 举报
回复
牛
MadLee 2006-04-12
  • 打赏
  • 举报
回复
啥叫玩数?
keikeiklkyz 2006-04-12
  • 打赏
  • 举报
回复
#include<iostream.h>
void main()
{
int sum=1;
for(int i=2;i<=1000;i++)
{
for(int j=2;j<=i/2;j++)
{
if(i%j==0)
sum+=j;
}
if(sum==i)
cout<<i<<'\t';
else
sum=1;
}
}
烟火...... 2006-04-11
  • 打赏
  • 举报
回复
int i,j,sum;
for (i=2;i<=1000;i++)
{
sum=1;//重新初始化
for (j=2;j<i;j++)
{
if (i%j==0)
sum+=j;
}

if (sum==i)//放在完数检测循环外打印
cout<<i<<endl;

}

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧