最小公倍数方法是每乘一个数后要除以最大公因数。
// 手动实现gcd(适用于C++11之前)
long long gcd(long long a, long long b) {
while (b) {
long long t = a % b;
a = b;
b = t;
}
return a;
}
// 两数的最小公倍数
long long lcm(long long a, long long b) {
return a / gcd(a, b) * b; // 先除后乘防溢出
}
__gcd实现
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,ans=1;
cin>>n;
for(int i=1;i<=n;i++){
int a;
cin>>a;
ans *= a/__gcd(ans,a);
}
cout<<ans;
return 0;
}