15. 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。
如有错误,欢迎指出
//15. 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B
//且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数
//求3000以内的全部亲密数
#include<stdio.h>
main()
{
int a,b,a_,j;
for(a=1;a<3000;a++)
{
for(j=2;j<=a;j++)
if(a%j==0)
b=b+a/j;
for(j=2;j<=b;j++)
if(b%j==0)
a_=a_+b/j;
if(a_==a&&a<b)
printf("[%5d%5d]\t",a,b);
a_=0;
b=0;
}
}
运行结果: