求助

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

``` #include<bits/stdc++.h> using namespace std; int x,y,i,j,s=0; int gcd(int i,int j) { if(j==0) { return i; } else { return gcd(j,i%j); } } int lcm(int i,int j) { return (i*j)/gcd(i,j); } int main() { cin>>x>>y; for(i=1;i<=y;i++) { for(j=1;j<=y;j++) { if(gcd(i,j)==x&&lcm(i,j)==y) { s++; } } } cout<<s; return 0; } ``` 这个才是
by wrk20111205 @ 2023-08-31 11:40:35


TLE优化一下就好了 做法: 将$j$用$(x*y)/i$带掉,这样只用一层循环
by fight_for_humanity @ 2023-08-31 12:02:10


|