DHU OJ | 基本練習-25 最小公倍數

25 最小公倍數

作者: xxx時間限制: 1S章節: 循環

問題描述 :

給定兩個正整數,計算這兩個數的最小公倍數

輸入說明 :

輸入包含T組測試數據,每組只有一行,包括兩個不大於1000的正整數.

輸出說明 :

對於每個測試用例,給出這兩個數的最小公倍數,每個實例輸出一行。

輸入範例 :

3
200 50
9 11
18 21

輸出範例 :

200
99
126
 

筆記

兩個數的最小公倍數(LCM) = 兩數的乘積/最大公約(因)數

兩數的最大公約數有多種解法,常用且高效的是輾轉相除法,注意在進行輾轉相除之前,要調整兩數的順序,大數在前,小數在後。

代碼

#include<stdio.h>

int gcd(int a,int b){
	if(b==0)
		return a;
	else return gcd(b,a%b);
}

int main(){
	int T;
	scanf("%d",&T);
	int i;
	for(i=0;i<T;i++){
		int a,b;
		int t;
		scanf("%d %d",&a,&b);
		if(a<b){
			t = a;
			a = b;
			b = t;
		} 
		printf("%d\n",a*b/gcd(a,b));
	}
	
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章