c语言训练亲密度数

# include & ltstdio.h & gt

#定义N 3000 yzh();

void main()

{

/* int a;scanf("%d ",& ampa);printf("%d ",Yzh(a));*/

int a,b,I,j;

for(I = 2;我& ltn;i++)

{

a = Yzh(I);

for(j = 2;j & ltn;j++)

{

b = Yzh(j);

if(a = = j & amp;& ampb = = i & amp& amp我& ltJ) //它应该小于,因为较小的数字先出现。

printf("(%d,%d)",I,j);

}

}

}

int Yzh(int x)

{

int n,sum = 0;

for(n = 1;n & lt= x/2;n++)

{

if(x%n==0)

sum+= n;

}

返回总和;//因为要在主函数中使用因子的和,所以必须将调用函数的值返回给主函数。

}

这是我修改的你的代码,输出符合你的要求,但是3000以内的亲密数好像只有3对。