1. 程式人生 > >1912: 親和數

1912: 親和數

mil sha word 是否 log csharp lse led mar

1912: 親和數

Time Limit: 1 Sec Memory Limit: 64 MB Submit: 375 Solved: 184 [Submit][Status][Web Board]

Description

如果a的因子和等於b,b的因子和等於a,且a≠b,則稱a,b為親密數對。 比如220的所有真約數(即不是自身的約數)之和為: 1+2+4+5+10+11+20+22+44+55+110=284。 284的所有真約數和為: 1+2+4+71+142=220。 你的任務就編寫一個程序,判斷給定的兩個數是否是親和數

Input

輸入數據第一行包含一個數M,接下有M行,每行一個實例,包含兩個整數A,B; 其中 0≤A,B≤99999。

Output

對於每個測試實例,如果A和B是親和數的話輸出YES,否則輸出NO。

Sample Input

2
220 284
100 200

Sample Output

YES
NO
#include<stdio.h>
int main()
{
    int m,n,p,i;
    int sum1,sum2;
    scanf("%d",&p);
    for(i=0;i<p;i++)
    {
        scanf("%d %d",&m,&n);
        sum1=sum(m);
        sum2=sum(n);
        if(sum1==n&&sum2==m)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}
int sum(int n)
{
    int i,k;
    int a[1000];
    int sum=0,j=0;
    for(i=1;i<n;i++)
    {
        if(n%i==0)
        {
            a[j++]=i;
            k=j;
        }
    }
    for(j=0;j<k;j++)
    {
        sum=sum+a[j];
    }
    return sum;
}

1912: 親和數