| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 769 人关注过本帖
标题:求助:关于完全数的问题
只看楼主 加入收藏
精灵传说
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-25
收藏
 问题点数:0 回复次数:5 
求助:关于完全数的问题
偶是新手 今天研究了一天也没进展  先感谢下燕斑的论坛 那里的题目 :
如果一个正整数的所有因数相加(不包括自身)仍等于自身,他就是完
全数 如6=1+2+3 现在要求输入一个数 输出所有从1到该数内的所有完全数

貌似很容易 一开始我用最笨的办法写 只能勉强算到8128,后来经过一下午
的改进 得到如下代码 效率至少提100倍 可还是只能算到8128 哭死 求各位
大侠帮助 谢谢先
#include <stdio.h>

int main(void)
{
   long x;
   long n;
   long i;
   long sum;
   long k;
   int Record=1;
   int record=1;

      scanf("%ld",&x);

   if(x>5e18 || x<0)
    {
     return 0;
    }
   if(x<6)
    {
    printf("0\n");
    return(0);
    }

   if(x>=6)
     {
      for(n=6 ; n<x ; n+=Record)
       {

    sum = 1;
      k = n;
       for(i=2 ; i<k ; i++)
        {
         if (n%i==0)
          {
           sum+=i+n/i;
           k=n/i;
           record=i;
        if(sum>n)
         {
          break;
         }
           }
         }
          if(sum==n)
           {
        printf("%ld ",n);
        Record=record;
           }
     }
      }
           printf("press any key to exit\n");
           getch();
           return(0);
}
搜索更多相关主题的帖子: 完全数 
2008-04-24 17:03
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
提示你一下:完全数公式

" border="0" />[color=white]
2008-04-24 17:19
精灵传说
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-25
收藏
得分:0 
超级无语 刚上百度查了下 原来完全数有那么多学问 最不可思议的就是6=1+2+3,28=1+2+3
+4+5+6+7, 还有欧几里德竟然那么厉害 不过正因为有了他的公式 我觉得这题目已经不在
有意义了 我对完全数的猜想 还只是基于1/2+1/4+1/8.....无限接近于1,欧几里德放在今天
一定是最出色的程序家,另外百度上说完全数尚未证明一定是偶数 这点很奇怪1/3+1/5
+1/7.....显然到不了1 这么简单怎么会没人证明呢

there is a castle on a cloud
2008-04-24 17:39
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
收藏
得分:0 
这点很奇怪1/3+1/5+1/7.....显然到不了1 这么简单怎么会没人证明呢
//
解释下:
LZ应该没有学过无穷级数,数列均是发散的,当n->无穷大时,数列和将大于任意数,并非像LZ想象的一样无限接近1。

[[it] 本帖最后由 now 于 2008-4-24 22:19 编辑 [/it]]

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-04-24 22:10
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
[bo]以下是引用 [un]now[/un] 在 2008-4-24 22:10 的发言:[/bo]
1/2+1/4+1/8.....无限接近于1;
这点很奇怪1/3+1/5+1/7.....显然到不了1 这么简单怎么会没人证明呢
//
解释下:
LZ应该没有学过无穷级数,此两个数列均是发散的,当n->无穷大时,数列和将大于任意数,并非像LZ想象的一样无限接近1。

发散的是第二个,第一个很明显你没有看清楚,或者是你楼上打错了

" border="0" />[color=white]
2008-04-24 22:13
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
收藏
得分:0 
没有看清楚,看错了,不好意思。第一个是几何级数,公比绝对值<1,收敛。

GIS
Geographic Information System
你在哪里?——》你的坐标?
2008-04-24 22:17
快速回复:求助:关于完全数的问题
数据加载中...
 
   



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

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