题目:​​http://acm.hdu.edu.cn/showproblem.php?pid=2040​

稍稍优化一下,,,
其实好像暴力过也可以,

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n,i,a,b,sa,sb;
cin>>n;
while(n--)
{
cin>>a>>b;
sa=sb=1;
for(i=2;i<sqrt(a);i++)
if(a%i==0)
sa=sa+i+a/i;
for(i=2;i<sqrt(b);i++)
if(b%i==0)
sb=sb+i+b/i;
cout<<(sa==b&&sb==a?"YES\n":"NO\n");
}
return 0;
}