比赛 板子大赛 评测结果 AAAAAAAAAA
题目名称 最大公约数和最小公倍数问题 最终得分 100
用户昵称 李奇文 运行时间 0.037 s
代码语言 C++ 内存使用 3.30 MiB
提交时间 2025-01-22 15:56:10
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int m,n,ans,flag;
ll gcd(ll x,ll y){
    if(y==0){
		return x;
	}
    return gcd(y,x%y);
}
int main(){
	freopen("gcdpro.in","r",stdin);
	freopen("gcdpro.out","w",stdout);
    cin>>n>>m;
    for(int i=1;i<=sqrt(1ll*m*n);i++){
        if((1ll*n*m)%i==0&&gcd(i,(1ll*n*m)/i)==n){
            ans++;
            if(1ll*i*i==1ll*n*m)  flag=1;
        }
    }
    cout<<ans*2-flag<<endl;
    return 0;
}