亲密数
2017-03-04 17:37
197 查看
如果整数a的全部因子(包括1,不包括a本身)之和等于b,且b的全部因子(包括1,不包括b本身)之和等于a,则称整数a和整数b为亲密数,求3000以内的全部亲密数
#include <iostream>
using namespace std;
int main()
{
int i,j;
int m;
int sum1,sum2;
for (i=2;i<3000;i++)
{
for (j=i+1;j<=3000;j++)
{
sum2=0;
sum1=0;
for (m=1;m<=j/2&&m<i;m++)
{
if (i%m==0)
sum1+=m;
if (j%m==0)
sum2+=m;
}
if (sum1==j&&sum2==i)
{
cout<<i<<" "<<j<<endl;
break;
}
}
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int i,j;
int m;
int sum1,sum2;
for (i=2;i<3000;i++)
{
for (j=i+1;j<=3000;j++)
{
sum2=0;
sum1=0;
for (m=1;m<=j/2&&m<i;m++)
{
if (i%m==0)
sum1+=m;
if (j%m==0)
sum2+=m;
}
if (sum1==j&&sum2==i)
{
cout<<i<<" "<<j<<endl;
break;
}
}
}
return 0;
}