| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 916 人关注过本帖
标题:[讨论] 走过,路过,千万别错过!
只看楼主 加入收藏
mjt
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-5-11
收藏
 问题点数:0 回复次数:4 
[讨论] 走过,路过,千万别错过!
题目:
       一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而
6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
      6,its factors are 1,2,3
搜索更多相关主题的帖子: factors 
2005-05-15 00:02
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
换个题目再发,还是没用,你先想想,想当年我都是自己想出来的。
2005-05-15 01:10
rl
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-4-2
收藏
得分:0 
9494
很简单的
我这个菜都自己做出来了

想当年做这个题的时候(两周前),还有一个类似的题:求1000以内的水仙花数~~
2005-05-15 13:44
prince
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-5-13
收藏
得分:0 

是很简单的 想这个世纪的这个时候(昨天,我看了你的帖子),现在我想出来了。 现在把代码发出来: #include<iostream> using std::cout; using std::cin; using std::endl; #include<cmath> #define MAX 100 typedef struct lisknode{ int data; struct lisknode *next; }LNode; LNode *L=NULL;//生成合数的连表。 void squality(); bool perfect(int); void Display(); int main() { squality(); Display(); return 0;

} void squality() { int k; LNode *p,*q; for(int i=6;i<=1000;i++) { k=sqrt(i);//只要能整除小于等于其平方根的数就是合数了,否则是质数。 for(int j=2;j<=k;j++)//寻找合数 if(i%j==0) { if(perfect(i)) { p=new LNode; p->data=i; //p->factor=0; p->next=NULL; if(L==NULL) q=L=p; else{ q->next=p; q=p; } } j=k; } } } bool perfect(int x) { int sum=0; for(int j=1;j<=x/2;j++) if(x%j==0) sum+=j; if(sum==x) return 1;//当是完全数时,返回真。 else return 0; } void Display() { LNode *R; int n=0; R=L; while(R) { cout<<R->data<<" 的因子:"; for(int j=1;j<=R->data/2;j++)//一个数只能整除小于等于其本身1/2的数。 if(R->data%j==0) cout<<j<<' '; cout<<endl; R=R->next; } }


教父,已经成为过去;谁来继写这段传说?----我!
2005-05-17 10:44
风の影子
Rank: 2
等 级:新手上路
威 望:3
帖 子:664
专家分:0
注 册:2005-5-19
收藏
得分:0 
哇!用不用这么复杂啊??
想我那个时候好象没写这么多的说!
2005-05-21 13:05
快速回复:[讨论] 走过,路过,千万别错过!
数据加载中...
 
   



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

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