标题:[求助] 完数
只看楼主
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
得分:0 

说的没错,因子当然能被这个数整除啦!


奋斗改变一切!!
2006-05-24 19:50
fresher
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-24
得分:0 
谢谢大家的帮助!!
2006-05-25 08:54
lxgaaa
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-5-17
得分:0 
看懂了完数

天高任鸟飞,海阔任鱼翱
2006-05-25 09:06
fresher
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-24
得分:0 
斑竹的程序有问题
例如 按照斑竹的程序,100 的因子就包括1,2,4,5,10。。。。。
但是4和10可以在分解啊
2006-05-25 09:34
Sanm
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-23
得分:0 
Calculate
是有什么作用呀,是有特殊的意义么

努力升级于菜鸟
2006-05-25 11:21
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
得分:0 
以下是引用feng1256在2006-5-24 15:49:00的发言:


[CODE]
#include "stdio.h"

int Calculate(int k)
{
int i,sum=0;

for(i=1;i<k;i++) /*这里计算的因子不包括它自己*/
if(k%i==0)
sum+=i;
return k==sum?1:0;
}

int main()
{
int j;

for(j=1;j<1000;j++)
if( Calculate(j) )
printf("%4d\t",j);
return 0;
}

[/CODE]

#include "stdio.h"
#include "math.h"
int Calculate(int k)
{
int i,st,num,sum=1;
st=(int)sqrt(k);
for(i=2;i<st+1;i++)
if(k%i==0)
{
num=k/i;
sum+=i+num;
}
return k==sum?1:0;
}

int main()
{
int j;

for(j=2;j<1000;j++)
if( Calculate(j) )
printf("%4d\t",j);
getch();
return 0;
}

稍微改了版主老大的程序,运行应该更快些


对不礼貌的女生收钱......
2006-05-25 18:37
djx20040701
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-20
得分:0 

#include "stdio.h"
#include "conio.h"
int panduan(int i)
{
int j,sum=0;
for(j=1;j<i;j++)
if(i%j==0)
{
sum+=j;
}
if(sum==i)
return 1;
else
return 0;
}

void main()
{
int j;
for(j=3;j<=100;j++)
if(panduan(j))
printf("%4d\t",j);
getch();
}

2006-05-25 19:17
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
以下是快速计算完数的程序:

#include<stdio.h>
int isPrime(long n,long i)
{
return n<i*i?1:n%i?isPrime(n,i+2):0;
}
int main(void)
{
long x,y;
for(x=2,y=4;x*y>0;x=y,y+=y)
if(isPrime(y-1,3))
printf("%ld\n",x*(y-1));
return 0;
}


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-25 19:17
djx20040701
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-20
得分:0 

楼上的太强了!小弟佩服!

2006-05-25 19:31
djx20040701
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-4-20
得分:0 
兄弟,能把那个规律再说清楚点???
小弟实在是不太明白,触了素数,可是素数没有什么规律呀
2006-05-25 19:43



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




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

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