恶搞新三国的:求完数的c语言程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 09:17:46
要 求0到1000内的完数并输出 的c语言程序

#include
main()
{
int m,i,s;
for(m=2;m<1000;m++)
{
s=1;
for(i=2;i<=m/2;i++)
{
if(m%i==0)
s=s+i;
}
if(s==m)
{
printf("%d is 完数 its factors are ",m);
for(i=1;i<=m;i++)
if(m%i==0)
printf("%d ",i);
printf("\n");
}

}
}
GOOD LUCK
用软件改变世界,用代码书写人生,用思想创造未来!

//一个数如果恰好等于它的因子之和,这个数就称为"完数"。编程找出1000以内的所有完数。
??#include <stdio.h>
??int* ss(int);//求正整数的质因数
??void main()
??{
?? int i,sum=1,j,*a;
?? for(i=6;i<1000;i++)
?? {
?? a=ss(i);
?? for(j=0;j<500;j++,a++)
?? sum+=*a;
?? if(sum==i)
?? printf("%d\n",i);
?? }
??}
??int* ss(int n)
??{
?? int k=2,sum=1,i=0,a[500]={0};
?? //printf("Please enter a num:\n");
?? //scanf("%d",&n);
?? while(n>=k)
?? {
?? if(n==k)
?? {
?? //printf("%d\n",k);
?? a[i++]=k;
?? break;
?? }
?? else
?? if(n%k==0)
?? {
?? //printf("%d\n",k);
?? a[i++]=k;
?? n/=k;
?? }
?? else
?? if(n%k!=0)
?? k+=1;
?? };
?? return a;
??}