java求多個數的最大公約數,最小公倍數。

public class zdgys_zxgbs {
	public static void main(String[] args) {
		System.out.println(getBigDiv(40, 56));
		System.out.println(getSmallMul(20, 12));
		int num[] = { 12, 20, 8 };
		System.out.println(getMoreBigDiv(num, 3));
		System.out.println(getMoreSmallMul(num, 3));
	}

	public static int getBigDiv(int a, int b) {// 求兩個數的最大公約數
		if (b == 0)
			return a;
		return getBigDiv(b, a % b);
	}

	public static int getSmallMul(int a, int b) {// 求兩個數的最小公倍數
		return (a * b) / getBigDiv(a, b);
	}

	public static int getMoreBigDiv(int num[], int n) { // 求多個數的最大公約數
		if (n == 1)
			return num[n - 1];
		return getBigDiv(num[n - 1], getMoreBigDiv(num, n - 1));
	}

	public static int getMoreSmallMul(int num[], int n) {// 求多個數的最小公倍數
		if (n == 1)
			return num[n - 1];
		return getSmallMul(num[n - 1], getMoreSmallMul(num, n - 1));
	}
}

發佈了19 篇原創文章 · 獲贊 34 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章