关于lcm的问题
#include <bits/stdc++.h> using namespace std; int lcm(int a,int b) { return (a*b)/__gcd(a,b); } int main(void) { int n; cin>>n; int a[n]; for(int i=1;i<=n;i++) cin>>a[i]; int x; cin>>x; int res=1; for(int i=n;i>=1;i--) { if(x%a[i]==0) { res=lcm(res,a[i]); } } if(res%x==0) cout<<"Possible"; else cout<<"Impossible"; return 0; }我想问一下
(a*b)/__gcd(a,b)和a/__gcd(a,b)*b有什么区别,为什么a/__gcd(a,b)*b会对,而(a*b)/__gcd(a,b)只能部分正确呢