标题:[求助]关于"完数"的题!
只看楼主
daniexu
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2007-2-3
 问题点数:0 回复次数:9 
[求助]关于"完数"的题!

关于"完数"的
找出1000以内的所有"完数". 请帮我讲解一下怎么编的呀!我看潭老先生的书,上面关于完数的看的不是太明白.
下面是潭老先生书中写的方法 为什么他的K只取到10 是1000以内的"完数"最多只能由10个因子构成吗?谢谢大家帮忙!

#define M 1000

#include<stdio.h>

void main()
{
int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;
int i,a,n,s;
for(a=2;a<=M;a++)
{
n=0;
s=a;
for(i=1;i<a;i++)
if(a%i==0)
{
n++;
s=s-i;
switch(n)
{
case 1:
k1=i;break;
case 2:
k2=i;break;
case 3:
k3=i;break;
case 4:
k4=i;break;
case 5:
k5=i;break;
case 6:
k6=i;break;
case 7:
k7=i;break;
case 8:
k8=i;break;
case 9:
k9=i;break;
case 10:
k10=i;break;
}
}
if(s==0)
{
printf("%d,its factor are",a);
if(n>1) printf("%d,%d",k1,k2);
if(n>2) printf(",%d",k3);
if(n>3) printf(",%d",k4);
if(n>4) printf(",%d",k5);
if(n>5) printf(",%d",k6);
if(n>6) printf(",%d",k7);
if(n>7) printf(",%d",k8);
if(n>8) printf(",%d",k9);
if(n>9) printf(",%d",k10);
printf("\n");
}

}

}

搜索更多相关主题的帖子: int 老先生 void 
2007-08-13 22:59
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
得分:0 
晕死。。。。。。。哪有这样子写代码的
2007-08-13 23:09
lijy520
Rank: 2
等 级:论坛游民
帖 子:119
专家分:42
注 册:2007-8-8
得分:0 
题目原来是咋样?

2007-08-13 23:20
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
得分:0 
能写出这种代码的人,着实感到佩服,我觉得能打出那些if,这种毅力就非常人能比~~~~~

偶学编程,也许本身就是一个错。。。
2007-08-13 23:27
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
得分:0 
what's 完数?

Fight  to win  or  die...
2007-08-13 23:33
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
得分:0 
"完数"是完全数吗?

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-14 09:13
寂寞的柳丁
Rank: 2
等 级:论坛游民
威 望:2
帖 子:93
专家分:10
注 册:2007-8-6
得分:0 
回复:(coachard)能写出这种代码的人,着实感到佩服...

給你看看這個....哈哈...你更該佩服了...

#include "stdio.h"
#include "conio.h"

main()
{
int a,b,c,d,e,f,g;
FILE *fp;
for(a=1;a<=30;a++){
for(b=1;b<=30;b++) {
for(c=1;c<=30;c++){
for(d=1;d<=30;d++){
for(e=1;e<=30;e++){
for(f=1;f<=30;f++){
for(g=1;g<=30;g++){
if(a==b)break;
else if(b==c)break;
else if(c==d)break;
else if(d==e)break;
else if(e==f)break;
else if(f==g)break;
else if(g==a)break;
else if(a+b+c+d+e+f+g==114)
{
if((fp=fopen("1.txt","w"))==NULL)
{
printf("can not open file.\n");
exit(1);
}
fprintf(fp,"%3d%3d%3d%3d%3d%3d%3d\n",a,b,c,d,e,f,g);
fclose(fp);
}
}
}
}
}
}
}
}
getch();
}

2007-08-14 11:30
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
什么是完数啊``

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-08-14 12:41
luo123
Rank: 1
等 级:新手上路
威 望:2
帖 子:324
专家分:0
注 册:2007-4-13
得分:0 

‘完数’概念还没弄明白啊


[url=http://www..cn]电子编程[/url]
2007-08-14 14:32
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
得分:0 
对啊,什么是完数

2007-08-14 14:57



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




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

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