HDU-2040-亲和数

 

#include<iostream>
using namespace std;
const int Size=600000;
int arr[Size+1];
int main()
{
        for(int i=1; i<Size+1; i++)
            arr[i]=1;
        for(int i=2; i<=Size/2; i++)// 筛法打表
            for(int j=i+i; j<Size+1; j+=i)
            {
                    arr[j]+=i;
            }
        int M, A, B;
        cin>>M;
        while(M--)
        {
                cin>>A>>B;

                if(arr[A]==B && arr[B]==A)
                    cout<<"YES"<<endl;
                else
                    cout<<"NO"<<endl;
        }
        return 0;
}

  

posted @ 2015-08-18 21:16  _SunDaSheng  阅读(150)  评论(0编辑  收藏  举报