一題解決最大公約數與最小公倍數問題

Description
輸入兩個正整數,求它們的最小公倍數。
Input
第一行一個正整數,表示數據組數。
接下來行,每行兩個正整數,表示
Output
每個測試樣例打印一個編號,之後輸出一個正整數,表示答案,保證答案的大小不會超過10^18。格式如
樣例所示。
Sample Input
5
2 3
4 6
3 10
7 13
100000000000 100000000000
Sample Output
6
12
30
91
100000000000

#include <iostream>
using namespace std;
#define ll unsigned long long int
ll gys(ll m, ll n);
int main() {
	int T;
	ll a, b;
	cin >> T;
	while (T--) {
		cin >> a >> b;
		cout << a / gys(a, b) * b << endl;//最小公倍數公式
	}
	return 0;
}
ll gys(ll m, ll n) {
	ll g;
	if (n == 0)
		g = m;
	else
		g = gys(n, m % n);
	return g;
}//輾轉相除法求最大公約數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章