求多個數的最小公倍數
阿新 • • 發佈:2019-01-01
求多個數的最小公倍數
- Description
-
求n個整數的最小公倍數
- Input
-
多組測試資料,先輸入整數T表示組數 然後每行先輸入1個整數n,後面輸入n個整數k1 k2...kn
- Output
-
求k1 k2 ...kn的最小公倍數
- Sample Input
-
1 3 12 18 6
- Sample Output
- 36
#include<stdio.h> int gb(int x,int y) { int t=1,temp; if(x<y) { temp=x; x=y; y=temp; } while(t) { t=x%y; x=y; y=t; } return x; } int gbs(int s[],int n) { int m,i; for(i=0;i<n-1;i++) { m=gb(s[i],s[i+1]); s[i+1]=s[i]/m*s[i+1]; //否則會RE } return s[n-1]; } int main() { int t,n,m,i; scanf("%d",&t); while(t--) { scanf("%d",&n); int s[10000]; for(i=0;i<n;i++) scanf("%d",&s[i]); if(n==1) printf("%d\n",s[0]); else { for(i=0;i<n-1;i++) m=gbs(s,n); printf("%d\n",m); } } }