注册 登录
编程论坛 新人交流区

求全数问题的程序代码

zmzlx 发布于 2007-10-16 20:05, 336 次点击

求全数问题的程序代码

4 回复
#2
zmzlx2007-10-18 09:22

我自己弄了一个,不过就是数字很大时,效率非常低,哪为高手指教?
#include<stdio.h>
int main(void)
{
int sum=0,n=0;
int num;
int div[100];
printf("please enter an integer for processing :\n");
scanf("%d",&num);
for(int i=2;i<=num;i++)
{
for(int j=1,k=0;j<=i/2;j++)
{
if(i%j==0)
{
sum+=j;
div[k]=j;
k++;
}
}
if(sum==i)
{
for(int l=0;l<k;l++)
{
printf("%d\n",div[l]);
}
n++;
}
sum=0;
for(int m=0;m<k;m++)
div[m]=0;
printf("\n");
}
printf("%d\n",n);
return 0;
}

#3
zmzlx2007-10-18 09:24
所谓全数就是指它的所有约数之和(除它本身)等与本身.
#4
baby662007-10-18 09:39

我也是这样做的
还没什么好的想法

#5
zzdmatlab2007-10-18 09:45
起码用个function之类的吧,这样看起来费劲。
1