读书人

求一到300中的所有互满数即是两个数

发布时间: 2013-10-24 18:27:21 作者: rapoo

求1到300中的所有互满数,即是两个数除了它各自本身外的所有的因数相加的和都等于对方

#include <stdio.h>

int hms(int a);

int main(int argc,const char * argv[])

{

int i,j;

for (i=1; i<300; i++)

for (j=1; j<300; j++)

if ((hms(i)==j)&&(hms(j)==i)&&i!=j)

{

printf("%d,%d\n",i,j);

}

return 0;

}


int hms(int a)

{

int i;

int s=0;

for (i=1; i<a; i++)

{

if (a%i==0)

{

s+=i;

}

}

return s;

}

读书人网 >编程

热点推荐