编程题:求1到1000之间的完数,并以如下格式输出。

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:04:46

\\欢迎在线讨论
#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;}
}
main()
{
int i;
for (i=1; i<=1000; i++)
ws(i,0,1);
getch();
}

#include <stdio.h>
int main()
{
int n=1000;
int r,j,i;
for(i=1;i<n; i++){
r = 0;
for(j=1;j<i;j++){
if(i%j == 0){
r = r + j;
}
}
if(r == i){
printf("the result is:%d\n",r);
r = 0;
}