当前位置:编程学习 > C/C++ >>

求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;
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,