C语言程序设计求完数

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:43:09
C语言程序设计题

请在提问之前先使用一下"搜索答案"。很多问题,老早就已经解决的了。

//这里举例了一个求1000以内的完数算法,供你参考
#include <stdio.h>

int ws(int a,int b,int c)
{
int d;
if (a>c)
{
if (a%c==0)
b+=c;
d=ws(a,b,c+1);
}
else if (c==a)
{
if (b==a)
{
return 1;
}
else return 0;
}
if (c==a-1&&d)
{
printf("%d is Prefect number:\t",a);

}
if (d&&(a%c==0))
{
printf("%d ",c);
}
else if (!d) return 0;
if (c==1)
{
putchar('\n');
return d;
}
}

int main(void)
{
int i;

for (i=1; i<=1000; i++)
ws(i,0,1) ;
return 0;
}