求10000以内的所有完数。

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:06:01
求10000以内的所有完数。

来个运行公式,谢谢大家了啊,急用!

//在vs2005中编译通过,完全数就是它等于它所有的因子之和,
//下面就是根据这个实现的,用的c++实现
//如果需要c代码,请补充下 ,其他代码只会vb的,不太熟悉了
#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=2;i<10001;i++)
{
int sum=0;
for(j=1;j<i;j++)
{

if(i%j==0)
sum=sum+j;
}
if(i==sum)
{
cout<<i<<" 它的所有因子:";
for(j=1;j<i;j++)
if(i%j==0)
cout<<j<<" ,";
cout<<endl;
}
}

return 0;
}

#include<stdio.h>
void main()
{
int i,j,n;
for(i=1;i<10000;i++)
{
n=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0) n+=j;
}
if(n==i) printf("%5d",i);
}
}