最小公倍數和最大公約數方法

求最大共倍數和最小公約數的數學公式:a%b = mod  。  a和b的最大公約數與 b和mod的最大公約數是相等的。

下面是java下的實現:


public class MathUtil {
	
	/*
	 * 最大公約數
	 */
	public static int gcd(int a , int b){
		
		int gcd = 1 ,max ,min,mod;
		max = a > b?a:b;
		min = a <= b? a :b;
		if(max%min == 0)
			gcd = min;
		else{
			do{
				mod = max % min;
				if(mod == 0)
				{
					gcd = min;
					break;
				}
				max = min;
				min = mod;
		}while(true);
		}
		return gcd;
	}
	
	/*
	 * 最小公倍數
	 */
	public static int gmd(int a , int b){
		int gmd = 1 , x ,y;
		int gcd = gcd(a ,b);
		x = a / gcd;
		y = b / gcd;
		gmd = x*y*gcd;
		return gmd;
	}

	public static void main(String[] args) {
		
		System.out.println(gcd(12,20));
		System.out.println(gmd(12,20));

	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章