标题:求1000内的完数!就用这种方法!
只看楼主
小耳元
Rank: 1
来 自:云南
等 级:新手上路
帖 子:72
专家分:6
注 册:2010-4-17
结帖率:75%
已结贴  问题点数:10 回复次数:12 
求1000内的完数!就用这种方法!
完数是指:该数的各因子之和正好等于本身。例如:6=1+2+3   
  看看这个程序那里错了,就用这种方法~````
#include "stdio.h"
main()
 {
  int x,y,n;
   y=1;
   for(x=1;x<=1000;x++)
    {
       n=0;
       while(y<x)
       {
         if(x%y==0)
         {
           n+=y;
           }
           y++;
           }
              if(x==n)
           printf("%d\n",x);
           }
           getch();
           }
                             本人菜鸟!  请尽量详细点~```````````
                                     谢谢    ```` ~````  


                                       


[ 本帖最后由 小耳元 于 2010-6-11 21:02 编辑 ]
搜索更多相关主题的帖子: include while 
2010-06-10 11:49
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:1 
呵呵呵,支持!

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-10 12:11
wkongs
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2009-11-9
得分:1 
不错
2010-06-10 13:24
小耳元
Rank: 1
来 自:云南
等 级:新手上路
帖 子:72
专家分:6
注 册:2010-4-17
得分:0 
是错的,无语了,请你们帮我看看那里错了~`````
                         谢谢 ~``````````
2010-06-11 21:03
小耳元
Rank: 1
来 自:云南
等 级:新手上路
帖 子:72
专家分:6
注 册:2010-4-17
得分:0 
回复 3楼 wkongs
汗,程序是有问题滴,俺是来找答案滴~`````
            呵呵~```   
2010-06-11 21:11
小耳元
Rank: 1
来 自:云南
等 级:新手上路
帖 子:72
专家分:6
注 册:2010-4-17
得分:0 
回复 2楼 myhnuhai
谢谢~``````
2010-06-11 21:11
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:0 
#include"stdio.h"
void main()
{
    int a,s,y;  
    for(a=1;a<1000;a++)
    {
        s=0;
      for(y=1;y<=a/2;y++)   
      if(a%y==0)s=s+y;        
      if(s==a)
        {
        printf("%d its factore are ",a);
        for(y=1;y<=a/2;y++)
        if(a%y==0)printf("%d ",y);
        printf("\n");
        }
    }

}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-11 21:22
huxiangwenhu
Rank: 4
等 级:业余侠客
威 望:1
帖 子:191
专家分:262
注 册:2010-6-1
得分:1 
大哥,  你就不是错一点点呢,都不好改了,呵呵,你就照着7楼的思路看吧
2010-06-11 21:32
myhnuhai
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:3
帖 子:425
专家分:1725
注 册:2010-3-17
得分:0 
这是你的:
#include "stdio.h"
main()
{
  int x,y,n;
   for(x=1;x<=1000;x++)
    {
        y=1;
        n=0;
       while(y<x)
       {
         if(x%y==0)
           n+=y;   
           y++;
       }   
              if(x==n)
           printf("%d\n",x);
    }
   
           getch();
}

不要让肮脏的记忆,迷失了原本纯洁的心灵!
2010-06-11 21:33
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
得分:1 
这个程序做的缩进,还不如不要呢

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-06-12 07:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-309843-1-1.html




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

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