洛谷 P1029 [NOIP 2001 普及组] 最大公约数和最小公倍数问题

AcCode:

#include<iostream>
using namespace std;
int gcd(int a, int b){
    while(b){
        int t = a % b;
        a = b;
        b = t;
    }
    return a;
}

int main(){
    int P, Q, ans = 0;
    cin >> P >> Q;
    int s = P * Q;
    for(int i = P; i <= s / i; i++) if(s % i == 0 && gcd(i, s / i) == P) ans++;
    ans *= 2;
    if(P == Q) ans--;
    cout << ans;
    return 0;
}
posted @ 2025-05-08 17:11  Yuhhhhh  阅读(9)  评论(0)    收藏  举报