一题解决最大公约数与最小公倍数问题

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;
}//辗转相除法求最大公约数
发布了23 篇原创文章 · 获赞 31 · 访问量 1109

猜你喜欢

转载自blog.csdn.net/weixin_45333771/article/details/103447240
今日推荐