@[d909RCA](/user/703115) 你在gcd函数中的变量a,b与全局变量重名。
by muruiqi @ 2024-02-19 11:22:34
@[muruiqi](/user/1107530) 谢谢
by d909RCA @ 2024-02-19 13:57:54
@[d909RCA](/user/703115) 但是没用
by d909RCA @ 2024-02-19 13:59:34
@[d909RCA](/user/703115) 请用此代码试试。
```cpp
#include <bits/stdc++.h>
using namespace std;
int a,b,ans;
int _gcd(int x,int y)
{
while(x%y!=0)
{
int z=x%y;
x=y;
y=z;
}
return y;
}
int main()
{
cin>>a>>b;
for(int i=a;i<=b;i++)
{
int j=a*b/i;
if(_gcd(i,j)==a&&i*j/_gcd(i,j)==b)
ans++;
}
cout<<ans<<endl;
return 0;
}
```
![](https://www.luogu.com.cn/record/157788747)
by muruiqi @ 2024-05-03 14:12:20
@[d909RCA](/user/703115) 你RE的原因是用递归求解gcd(),所以当数据较大时会爆栈,可以用辗转相除法求解。
------------
对不起,刚看到。
by muruiqi @ 2024-05-03 14:15:26
@[muruiqi](/user/1107530) 谢谢,刚AC
by d909RCA @ 2024-05-04 09:11:22