问题 A: Least Common Multiple(最小公倍数)
总结:对于这类题要理解好板子,就容易记下来了
思路:了解题意后,按要求套板子,然后注意是输入M个数,相当于求m-1次最小公约数
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
//最大公约数公式a/gcd*b
//求最大公约数
int gcd(int a,int b)
{
int temp;
if(a<b)
{
int temp=a;
a=b;
b=temp;
}
if(b==0) return a;
else return gcd(b,a%b);
}
//求最小公倍数
int lcm(int a,int b)
{
int temp;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
return a/gcd(a,b)*b;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int m,a,b;
cin>>m;
cin>>a;
for(int i=1;i<m;i++)
{
cin>>b;
a=lcm(a,b);
}
cout<<a<<endl;
}
return 0;
}