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