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

浙公网安备 33010602011771号