
#include <stdio.h>
int main()
{
int a, i, b, n;
for (a = 6; a < 10000; a++) /*穷举3000以内的全部整数*/
{
for (b = 0, i = 1; i <= a / 2; i++) /*计算数a的各因子,各因子之和存放于b*/
if (!(a % i))
b += i;
for (n = 0, i = 1; i <= b / 2; i++) /*计算b的各因子,各因子之和存于n*/
if (!(b % i))
n += i;
if (n == a && a < b) /*使每对亲密数只输出一次*/
printf("(%d,%d)\n", a, b); /*若n=a,则a和b是一对亲密数,输出*/
}
return 0;
}
#include <stdio.h>
int main()
{
int a, b, i, n;
for (a = 6; a < 10000; a++)
{
b = 0;
for (i = 1; i <= a / 2; i++)
{
if (a % i == 0)
b += i;
}
n = 0;
for (i = 1; i <= b / 2; i++)
{
if (b % i == 0)
n += i;
}
if (n == a && a < b)
printf("%d %d\n", a, b);
}
return 0;
}