逐个选出公约数求和然后在判断是否与另一个数相等
#include<iostream>
using namespace std;
int main()
{
int m,sum;
cin>>m;
for(int i=0;i<m;i++)
{
int a[2],j,c=0;
cin>>a[0]>>a[1];
for(j=0;j<2;j++)
{
sum=0;
for(int k=1;k<=a[j]/2;k++)
{
if(a[j]%k==0)
{
sum=sum+k;
}
}
if(sum==(a[(j+1)%2]))
c++;
}
if(c==2)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}