路:所谓完数是一些特殊的自然数。如果一个数恰好等于它的因子之和,则称该数为“完全数”。先定义一个函数用于判断一个数是否是完数,接着依次从2到5000依次循环判断。
参考代码:
#include
int fun(int n){//判断n是否是完数
int i,sum=0;
for(i=1;iif(n%i==0) sum+=i;
if(sum==i) return 1;
return 0;
}
int main ()
{
int i;
for(i=2;i<5000;i++)
if(fun(i))
printf("%d ",i);
return 0;
}
/*
运行结果:
6 28 496
*/
#include
int main()
{
int T;
int a,sum,num,i,j,b;
a=2, b=5000;
sum=num=0;
for(j=a;j<=b;j++)
{
sum=0;
for(i=1;i
if(sum==i) {
num++;
printf("%d ", i);
}
}
printf("\n%d到%d之间共有%d个完数\n",a,b,num);
return 0;
}
哥 没有分还不告诉什么是完数
#include
main()
{
int r,j,i;
for(i=2;i<=5000; i++)
{
r = 0;
for(j=1;j {
if(i%j == 0)
{
r = r + j;
}
}
if(r == i)
{
printf("the result is:%d\n",r);
}
}
}