| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1007 人关注过本帖
标题:找出1000以内的完数,条件怎么不判断呢?结果怎么是3003?
只看楼主 加入收藏
zxrd1989
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2011-5-11
结帖率:64.29%
收藏
 问题点数:0 回复次数:14 
找出1000以内的完数,条件怎么不判断呢?结果怎么是3003?
#include<stdio.h>
void main()
{
int a,b,c,d;
for(a=1;a<=1000;a++);
for(b=1;b<=1000;b++);
for(c=1;c<=1000;c++);
for(d=1;d<=1000;d++);
if(a<d&&b<d&&c<d&&a+b+c==d);
{
   
    d=a+b+c;
    printf("%d",d);
}
}
搜索更多相关主题的帖子: 3003 
2011-05-17 09:22
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
for语句后有个分号,分号是空语句,你的所有for循环都是循环的空语句,每后面的语句都没有循环。
2011-05-17 09:46
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
int j,i,s=0;
for(i=1;i<1000;i++)
{s=0;for(j=1;j<i;j++)
{if(i%j==0)
s=s+j;}
if(s==i)
printf("%5d",s);}
2011-05-17 09:48
zxrd1989
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2011-5-11
收藏
得分:0 
回复 2楼 laigaoat2005
#include<stdio.h>
void main()
{
int a,b,c,d;
for(a=1;a<=1000;a++)
for(b=1;b<=1000;b++)
for(c=1;c<=1000;c++)
for(d=1;d<=1000;d++)
if(a<d&&b<d&&c<d&&a+b+c==d)
{
   
    d=a+b+c;
    printf("%d",d);
}
}
现在成了无限循环
2011-05-17 09:54
键盘农夫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:106
注 册:2011-5-5
收藏
得分:0 
回复 4楼 zxrd1989
不是无限循环
是循环次数太多

《狂人C:程序员入门必备》
2011-05-17 10:03
zxrd1989
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2011-5-11
收藏
得分:0 
回复 5楼 键盘农夫
IF条件没有用啊?
2011-05-17 10:05
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:0 
完数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3.(6的因子是1,2,3)
而且你的算法有点问题,这样要循环1000^4次,时间太长
2011-05-17 10:30
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:0 
完数的因子个数也不一定只有3个
收到的鲜花
  • bccn_05162011-05-18 19:04 送鲜花  3朵   附言:我很赞同
2011-05-17 10:32
墨竹
Rank: 2
等 级:论坛游民
帖 子:29
专家分:39
注 册:2011-5-16
收藏
得分:0 
#include<stdio.h>

void main()
{
    int m,n,sum;
    for(m=1;m<=1000;m++,sum=0)
    {    for(n=1;n<=m/2;n++)
        {
            if(m%n==0)
            {
                sum=sum+n;
            }
        }
        if(sum==m)
        {
            printf("%d\n",m);
        }   
    }
}
2011-05-17 10:38
键盘农夫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:106
注 册:2011-5-5
收藏
得分:0 
以下是引用zxrd1989在2011-5-17 10:05:15的发言:

IF条件没有用啊?
用了
问题是那不是判断完数的条件

《狂人C:程序员入门必备》
2011-05-17 11:10
快速回复:找出1000以内的完数,条件怎么不判断呢?结果怎么是3003?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046639 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved