题目思路:只要把一个数a的除了自己本身的数的约数找出来相加得到另一个数b,则输出YES,否则输出NO。注意:要注意a,b为0的几种特殊情况。
#include <iostream>
#include <stdio.h>
using namespace std;
int sum(int n)
{
int ans=1;
for(int i=2; i<=n-1; i++)
{
if(n%i==0)
ans+=i;
}
return ans;
}
int main()
{
int T;
int a,b;
cin>>T;
while(T--)
{
scanf("%d%d",&a,&b);
if(a==0&&b==0)
{
printf("YES\n");
continue;
}
if((a==0&&b!=0)||(a!=0&&b==0))
{
printf("NO\n");
continue;
}
if(sum(a)==b)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}