这个C语言程序设计怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:10:14
一个数如果恰好等于它的因子之和,这个数称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000以内的所有“完数”,并按下面格式输出其因子:

6 its factor are 1,2,3

#include<stdio.h>
#include<string.h>

int a[1001];

void init()
{
int i, j;
memset(a,0,sizeof(int)*1001);
for(i=1; i<=500; i++)
{
for(j=i+i; j<=1000; j+=i)
{
a[j]+=i;
}
}
}

void list(int n)
{
int i;
for(i=2; i<n; i++)
{
if(n%i==0)
printf(",%d",i);
}
putchar('\n');
}

int main()
{
int i, j;
init();
for(i=1; i<1001; i++)
{
if(a[i]==i)
{
printf("%d its factor are 1",i);
list(i);
}
}
return 0;
}
/*嘿嘿,我感觉我这个效率比较高哦*/

#include<stdio.h>
void main()
{int m,s,i;
for(m=2;m<1000;m++)
{s=0;
for(i=1;i<m;i++)
if((m%i)==0) s=s+i;
if(s==m)
{printf("%d,its facters are ",m);
for(