每日算法练习之最大公约数最小公倍数

时间:2022-09-22 00:37:02

利用辗转相除判断最大公约数  最小公倍数

//2016-8-22题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 
//1.程序分析:利用辗除法。
public class GcdTest {
	public static void main(String[] args) {
		
		System.out.println("最大公约数为:"+gcd(117, 77));
		System.out.println("最小公倍数为:"+gs(112, 77));
	}
	//求最大公约数
	public static int  gcd(int m,int n){
		int b = m>n?m:n;
		int s = m<n?m:n;
		int r ;
		if(s==0){
			return b;
		}	
		r = b%s;
		return gcd(s, r);

	}
	
	//最小公倍数
	public static int gs(int m,int n){
		int b = m>n?m:n;
		int s = m<n?m:n;
		return b*s/gcd(m, n);
	}
}