其他分享
首页 > 其他分享> > 最小公倍数

最小公倍数

作者:互联网

public static void main(String[] args) {
/*
* 最大公約数 Greatest Common Divisor(GCD)
* 最小公倍数 f(a,b)=f(min(a,b),max%min)
* if(max%min=0) f(a,b)=min
* 最大公倍数Least Common Multiple(LCM)
*/
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("最大公約数:" + gcd(a, b));
System.out.println("最小公倍数:" + lcm(a, b));
}

public static int gcd(int a, int b) {
	int max, min, remainder;
	max = (a > b) ? a : b;
	min = (a < b) ? a : b;
	remainder = max % min;
	if (remainder == 0)
		return min;
	else
		return gcd(min, remainder);
}

public static int lcm(int a, int b) {
	return a * b / gcd(a, b);
}

心得:
1.利用递归实现,辗转相除法求最大公约数。
2.最小公倍数等于两数相乘再除以最大公约数。

标签:gcd,min,公倍数,最小,int,static,remainder
来源: https://www.cnblogs.com/xs1987/p/15133675.html