20pts RE

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题

@[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


|