//如果整数A的全部因子(包括1,不包括A本身)之和等于B
//且整数B的全部因子(包括1,不包括B本身)之和等于A,
//则将整数A和B称为亲密数。求3000以内的全部亲密数
#include<stdio.h>
#include<stdlib.h>
void fun(int n) {
int i,j;
int a = 0;
int b = 0;
for (i = 1; i < n; i++) {
if (n%i == 0) {
a += i;
}
}
for (i = 2; i <= 3000; i++) {
for (j = 1; j <= i; j++) {
if (i%j == 0)
b += j;
}
if (a == b) {
printf("%d和%d ",n,i);
}
}
}
int main() {
int i;
for (i = 2; i < 3000; i++) {
fun(i);
}
printf("\n");
system("pause");
}
06-06
9653
