题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040
题解:
先判断第一个数的所有约数和是否与第二个数相等,若相等再判断,否则直接结束
AC代码:
#include <iostream>
using namespace std;
int main(){
int n, a, b;
cin >> n;
while (n--) {
bool flag = false;
cin >> a >> b;
int sum = 0;
for(int i = 1; i < a; i++){
if(a % i == 0) {
sum += i;
}
}
if(sum == b) {
sum = 0;
for(int i = 1; i < b; i++) {
if(b % i == 0) {
sum += i;
}
}
if(sum == a) {
flag = true;
}
}
if(flag) {
cout << "YES" << endl;
}
else {
cout << "NO" << endl;
}
}
return 0;
}