给两个数的lcm和gcd求这两个数
首先lcm不能整除gcd是不行的 lcm=a*gcd*b (gcd(a,b)==1)
然后将合法a b枚举求出就好 ab=lcm/gcd gcd(a,b)==1
然后lcm=gcd的时候判定一下就好
#include <bits/stdc++.h>
using namespace std;
int xx,yy;
void Gao()
{
int ans=0;
if (yy%xx!=0)
{
cout<<0<<endl;
return ;
}
if (yy==xx)
{
cout<<1<<endl;
return;
}
int zz=yy/xx;
for (int i=1;i*i<zz;i++)
{
if (zz%i==0)
{
if (__gcd(i,zz/i)==1)
ans+=2;
}
}
cout<<ans<<endl;
}
int main()
{
while (cin>>xx>>yy)
Gao();
return 0;
}