HDU-2040 亲和数
HDU-2040 亲和数

代码

#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、求一个整数的真因子。

结果

HDU-2040 亲和数

相关文章: