代码
#include <iostream>
#include <math.h>
using namespace std;
int factor(int n) {
int sum = 1;
for(int i=2; i<=(int)sqrt(n); i++) {
if(n%i==0) {
if(i!=n/i) {
sum += i;
sum += n/i;
} else {
sum += i;
}
}
}
return sum;
}
int main() {
int M;
cin>>M;
for(int i=0; i<M; i++) {
int A, B;
cin>>A>>B;
int sumA = factor(A);
int sumB = factor(B);
if(sumA==B && sumB==A){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
}
return 0;
}
注解
1、求一个整数的真因子。