#include <bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
if(b != 0) return gcd(b,a % b);
return a;
}
int main()
{
int ans = 0,flag,n,m;
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;
return 0;
}
P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
最新推荐文章于 2024-07-24 19:35:30 发布