编程找出1000之内的全部完数,
完数:一个数愉好等于它各因子之和。比如6=1+2=3
我是用DEV编绎的 其它编绎器不知能不能通过 。。不好意思 我是新手
[ 本帖最后由 zenglw 于 2009-10-25 13:11 编辑 ]

程序代码:#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int swap(int n);
int i,j;j=0;
int t[10];
for(i=1;i<1000;i++)
if(swap(i))
{
t[j]=i;
j++;
}
printf("1000以内有%d个完数:",j);
for(i=0;i<j;i++)
printf("%d ",t[i]);
printf("\n");
int k;
for(i=0;i<j;i++)
{
printf("\n%d的因子为:",t[i]);
for(k=1;k<t[i];k++)
if(t[i]%k==0)
printf("%d ",k);
}
system("pause");
}
int swap(int n)
{
int s,i;
s=0;
for(i=1;i<n;i++)
{
if(n%i==0)
s=s+i;
}
int m;
if(n==s) m=1;
else m=0;
return(m);
}
