这份代码为什么开long long的话第13到17个测试点可以过,但不开long long的话,第13到17个测试点过不了,这是为什么呀?按理来说,第13到第17个测试点,就算a * b * c都不会超过int的数据范围呀
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b){
int mx = max(a, b);
int mn = min(a, b);
if(mx % mn == 0) return mn;
return gcd(mn, mx % mn);
}
int lcm(int a, int b){
return a*b / gcd(a, b);
}
signed main(){
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int a, b, c, ans;
cin>>a>>b>>c;
int tmp1 = lcm(a, b), tmp2 = lcm(b, c);
ans = lcm(tmp1, tmp2);
cout<<ans;
return 0;
}