G05 最大公约数 欧几里得算法

G05 最大公约数 欧几里得算法_哔哩哔哩_bilibili

 

P1029 [NOIP 2001 普及组] 最大公约数和最小公倍数问题 - 洛谷
#include<bits/stdc++.h>
using namespace std;

typedef long long LL;
LL x,y,ans;

LL gcd(LL a, LL b){
  return b==0 ? a : gcd(b,a%b);
}
int main(){
    cin>>x>>y;
    LL t = x*y;
    for(LL i=1; i*i<=t; i++)
        if(t%i==0 && gcd(i,t/i)==x) 
          ans += 2;
    if(x==y) ans--;      
    cout << ans;
    return 0;
}

 

posted @ 2022-09-11 16:22  董晓  阅读(971)  评论(0)    收藏  举报