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

求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;