我的代码:
```cpp
#include <bits/stdc++.h>
using namespace std;
long long x,y,cnt;
long long __lcm(long long a,long long b)
{
return a*b/(__gcd(a,b));
}
int main()
{
cin>>x>>y;
for (long long p=x;p<=y;p++)
if (__gcd(p,x*y/p)==x && __lcm(p,x*y/p)==y)
cnt++;
cout<<cnt;
return 0;
}
```
by wxbj114514 @ 2023-09-09 20:49:42
可以用stl喵!
-----
代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
long long m,n,ans;
int main(){
cin>>m>>n;
if(m==n) ans--;
n*=m;//把两数的积存入n中
for(long long i=1;i<=sqrt(n);i++){
if(n%i==0&&__gcd(i,n/i)==m) ans+=2;
}
cout<<ans;
return 0;
}
```
by wing_yhc @ 2023-09-09 20:53:24
谢谢两位大佬!
by fk_zj @ 2023-09-10 11:01:25