| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:刚来就有问题请教!麻烦兄弟们了!:)
只看楼主 加入收藏
拾得
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-10-31
收藏
 问题点数:0 回复次数:11 
刚来就有问题请教!麻烦兄弟们了!:)
我是新来的朋友,先跟打架问个好!我的问题是关于完数的问题!:)所谓完数就是就是一个数恰好等于他的因子之和!这就是完数! 所谓因子就是比如6的因子是1,2,3还有8的因子就是1,2,4还有7的因子就是1,7等!:) 谢谢各位了!强调我只要算法,不要代码谢谢了!:)
搜索更多相关主题的帖子: 兄弟 麻烦 
2004-11-01 19:49
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
收藏
得分:0 

我不太懂你说的是什么了,是不是输入一个数求他的完数啊!完数是不是除了本身外能把这个数整除的数就是因子了如果是的话先用scanf输入这个数a在用FOR(i=1;i<a;i++),后在用if(a%i=0) printf("%d",i就OK了到啊!!如果不是的话请先说清楚点行吗??

2004-11-01 20:31
拾得
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-10-31
收藏
得分:0 
就是不用输入!直接计算1000以内的所有完数!:)谢谢!:)

寒 世 欺 轻 如 拾 只 避 敬 再 看 山 间 我 我 何 得 要 他 他 过 他 问 有 辱 贱 处 曰 忍 由 不 数 . 拾 人 我 我 治 .. 他 他 要 年 . 得 谤 笑 骗 呼 .. 让 耐 理 你 . .. 我 我 我 ?? .. 他 他 他 且 .
2004-11-01 20:52
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

循环n=1000次 再设置一个循环(i=0 ;i<=n;i++) 再整除 可以整除的相加 sum=sum+i;

如果sum==n则 是完数

这样应该可以了吧

我也是新手

错误的地方请高手指点


动于心而静如水
2004-11-01 23:06
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
收藏
得分:0 

思想就是 poppylx 的 我就当练练手

main() { int i,sum,n ; for(n=2;n<1000;n++) { sum=0 ; for(i=1;i<n;i++) if((n%i)==0) sum+=i ; if(sum==n) { printf("%d is wanshu\n",n); for(i=1;i<n;i++) if(n%i==0) printf("%4d",i); printf("\n"); } } getch(); }


我知道我菜 但我会尽我最大的努力去帮助别人!
2004-11-01 23:33
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
以下是引用心若在在2004-11-01 23:33:43的发言:

思想就是 poppylx 的 我就当练练手

main() { int i,sum,n ; for(n=2;n<1000;n++) { sum=0 ; for(i=1;i<n;i++) if((n%i)==0) sum+=i ; if(sum==n) { printf("%d is wanshu\n",n); for(i=1;i<n;i++) if(n%i==0) printf("%4d",i); printf("\n"); //这是什么意思 } } getch(); }

[此贴子已经被作者于2004-11-01 23:54:02编辑过]


动于心而静如水
2004-11-01 23:45
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
打印完数啊!!

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-02 09:18
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 
以下是引用心若在在2004-11-01 23:33:43的发言:

思想就是 poppylx 的 我就当练练手

main() { int i,sum,n ; for(n=2;n<1000;n++) { sum=0 ; for(i=1;i<n;i++) {if((n%i)==0) sum+=i ; if(sum==n) { printf("%d is wanshu\n",n); printf("%4d",i); printf("\n");} } } getch(); }

那是这样可以吗 只用一个循环 是不是跟好一点呢??请指教


动于心而静如水
2004-11-02 10:18
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
你的不行啊!!有不正确的!!还有他的意思是打印完数的因子!!!

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-02 11:42
拾得
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-10-31
收藏
得分:0 
我的意思就是大印所有的完数!:)

寒 世 欺 轻 如 拾 只 避 敬 再 看 山 间 我 我 何 得 要 他 他 过 他 问 有 辱 贱 处 曰 忍 由 不 数 . 拾 人 我 我 治 .. 他 他 要 年 . 得 谤 笑 骗 呼 .. 让 耐 理 你 . .. 我 我 我 ?? .. 他 他 他 且 .
2004-11-02 12:57
快速回复:刚来就有问题请教!麻烦兄弟们了!:)
数据加载中...
 
   



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

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