アイデア
- 数値を入力するたびに、現在の最も一般的でない倍数と既存の最も一般的でない倍数を見つけます
- 入力された最初の数字の最も一般的でない倍数はそれ自体です
- 最小共通倍数=(a /最大共通除数)* b
- オーバーフローを避けるために、a * b / greatest commondivisorを使用しないように注意してください
コード
#include <stdio.h>
#include <iostream>
using namespace std;
int gcd(int a,int b){
if(b==0)
return a;
else
return gcd(b,a%b);
}
int main(){
int n=0;
while(scanf("%d",&n)!=EOF){
while(n--){
int m=0;
scanf("%d",&m);
int a=0,b=0;
for(int i=0;i<m;i++){
if(i==0){
scanf("%d",&a);
continue;
}
else{
scanf("%d",&b);
int gcdab=gcd(a,b);
a=a/gcdab*b;
continue;
}
}
printf("%d\n",a);
}
}
return 0;
}