第五章18

【题目描述】

 

如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。输入一个正整数n,输出n以内的全部亲密数。

 

【输入】

 

一个整数n。

 

【输出】

 

n以内的全部亲密数。

 

【样例输入】

 

2000

 

【样例输出】

 

220,284

 

1184,1210

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,i,b,n,z;
    scanf("%d",&z);
    for(a=1;a<=z;a++)
    {
        for(b=0,i=1;i<=a/2;i++)
            if(!(a%i))
            b+=i;
        for(n=0,i=1;i<=b/2;i++)
            if(!(b%i))
            n+=i;
        if(n==a&&a<b)
            printf("%d,%d\n",a,b);
    }
    return 0;
}

 

posted @ 2022-11-04 11:24  aquAAA  阅读(132)  评论(0编辑  收藏  举报