求一堆數的最小共倍數,WA了也不知道怎麼哇的。
先求解前兩個的,再將結果和下一個一起求公倍即可
#include<stdio.h>
int gys(int x,int y)
{
int t;
if (x<y) {t=x;x=y;y=t;}
while (x%y!=0) {t=x%y;x=y;y=t;}
return y;
}
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
int n,i,start,t2;
scanf("%d",&n);
scanf("%d",&start);
for (i=2;i<=n;i++)
{
scanf("%d",&t2);
start=start/gys(start,t2)*t2;
}
printf("%d\n",start);
}
}