求最大公因数,最小公倍数模板(gcd,lcm)

最大公因数的英文是 "Greatest Common Divisor"

最小公倍数Least Common Multiple

a与b的最小公倍数为a乘b除a和b的最大公因数

即lcm(a,b) = a * b / gcd(a,b)

#include
using namespace std;
using ll = long long;

int gcd(int x,int y){
	int t;
	while(y){
		t = x % y;
		x = y;
		y = t;//辗转相除法
	}
	return x;
}

int lcm(int x,int y){
	return x * y/ gcd(x,y);
}

int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int x = gcd(2,8);
	int y = lcm(2,8);
	cout << x << '\n' << y << '\n';
	return 0;
}

你可能感兴趣的:(c++,算法)