求多个数的最小公倍数的思想:先求出两个数的最小公倍数,然后将他们的最小公倍数与第三个数求最小公倍数,由此递推求多个数的最小公倍数。
#include<iostream>
#include<cstdio>
using namespace std;
int gcd(int x,int y) //求两个数的最大公约数
{
int r;
r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}
return y;
}
int mulgcd(int a[],int n) //求多个数的最小公倍数,n为数组的大小
{
int x,y,num=a[0],i,g;
for(int i=1;i<n;i++)
{
x=num;
y=a[i];
g=gcd(x,y);
num=x/g*y;
}
return num; //返回最小公倍数
}