辗转相除法求最小公倍数。

数如n, m,输出最小公倍数
辗转相除法

#include <bits/stdc++.h>

using namespace std;

long long lcm(long long a, long long b) {
	long long x, y, temp;
	if (a > b) {
		x = b, y = a;
	}
	else {
		x = a, y = b;
	}
	temp = y % x;
	while (temp > 0) {
		y = x;
		x = temp;
		temp = y % x;
	}
	return a * b / x;
} 

int main() {
	long long m, n;
	while (cin >> m >> n) {
		long long ans = lcm(m, n);
		cout << ans << endl ;
	}
	return 0;
}
发布了8 篇原创文章 · 获赞 0 · 访问量 149

猜你喜欢

转载自blog.csdn.net/weixin_46130146/article/details/104069088