玄学代码
查看原帖
玄学代码
262344
任俊熹楼主2021/12/4 14:31

版本为C++17以上,就不能过了, C++14及以下,就照样过。 似乎没有发现UB。

#include <bits/stdc++.h>
using namespace std;
long long a,b,ans;
int _gcd(int a,int b) {
    if (a % b == 0) return b;
    else return _gcd(b,a%b);
}
/*inline*/ int gcd(int a,int b)
{ return 1ll*a*b/_gcd(a,b);}
int main()
{
    cin.sync_with_stdio(false);
    cout.sync_with_stdio(false);
    cin>>a>>b;
    for(int i=1;i<=b;++i) if(a*b%i==0&&gcd(i,a*b/i)==b) ans++;
    cout<<ans<<endl;
    return 0;
}

2021/12/4 14:31
加载中...