当前位置: 代码迷 >> C语言 >> 求出1000以内所有盈数?有谁会吗?
  详细解决方案

求出1000以内所有盈数?有谁会吗?

热度:275   发布时间:2006-06-09 22:57:51.0
求出1000以内所有盈数?有谁会吗?

不要给以下答案,因为是错的。

printf("\n\n1000以内的盈数有:\n");
for (i=2;i<=1000;i++)
{
int sum=0;
for (j=2;j<=500;j++)
{
if (i%j==0)
{
sum+=j;
}
if (i>sum)
{
printf("%d ",i);
break;
}
}
}

输出为:2,3,4,5,6,.......10000,谁知道哪有问题???


----------------解决方案--------------------------------------------------------
盈数 是是东西啊
----------------解决方案--------------------------------------------------------
盈数与完数是相对应的。
一个数如果恰好等于它的各个因子(该数本身除外)之和,则称其为完数;
反之,如果因子之和大于该数,则称其为盈数。
----------------解决方案--------------------------------------------------------

#include "stdio.h"
main()
{
int i,j,sum=0;
for(i=2;i<=1000;i++)

{
for(j=1;j<i;j++)
if(i%j==0)
sum=sum+j;


if(sum>i)
printf("%5d",i);

sum=0;

}

}
可以不 ..?

[此贴子已经被作者于2006-6-11 12:29:31编辑过]


----------------解决方案--------------------------------------------------------

恩,是对的。


----------------解决方案--------------------------------------------------------

俺继续努力....
----------------解决方案--------------------------------------------------------
呵呵4 楼正确,但是你的程序TC++3.0通不过,知道为什么吗? 因为最后缺一个return 自己试试吧

----------------解决方案--------------------------------------------------------

...谢谢
我只装了个Turbo c for windows 集成实验与学习环境6.0
return?
不知道具体用法..我查下


----------------解决方案--------------------------------------------------------
  相关解决方案