| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 433 人关注过本帖
标题:如何求(0~1000)的完数?
只看楼主 加入收藏
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
如何求(0~1000)的完数?
要是我写只能用两个循环数越大,计算次数越多!有没有什么简单的算法!
for(i=2;i<1000;i++)
           for(j=1;j<=i/2+1;j++)
呵呵,刚觉好麻烦!!!
搜索更多相关主题的帖子: 1000 计算 如何 
2012-03-17 09:42
迷上编程
Rank: 2
等 级:论坛游民
帖 子:140
专家分:86
注 册:2012-3-11
收藏
得分:0 
完数是????
2012-03-17 10:44
kmj_IT
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2012-3-17
收藏
得分:5 
完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.(6的因子是1,2,3)
2012-03-17 11:02
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:5 
要简单就去套公式。

完数 = 2^(n-1) * (2^n - 1)
n > 1

梅尚程荀
马谭杨奚







                                                       
2012-03-17 11:22
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:0 
学习中 ....

编程之路定要走完……
2012-03-17 11:24
青梅煮酒
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2012-3-17
收藏
得分:0 
程序代码:
# include <stdio.h>

int main (void)
{
    int w1, w2;
    int i , j, k, sum=0;
    printf("请输入一个范围:");
    scanf ("%d %d", &w1, &w2);

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

        if (sum == i)
        {
            printf("%d ", i);
        }
        sum = 0;
    }

    return 0;
}
2012-03-17 16:19
青梅煮酒
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2012-3-17
收藏
得分:10 
回复 6楼 青梅煮酒
最后记得将sum清零一下,上面代码是我刚写的,就是忘记清零sum,检查了半天
2012-03-17 16:22
快速回复:如何求(0~1000)的完数?
数据加载中...
 
   



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

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