【ブルーブリッジjava】進数と整除の最大公約数最小公倍数

756 ワード

補足:
(1)ユークリッドの定理(転がり相除算):AとBの最大公約数=BとA%Bの最大公約数
(2)2つの数を乗じて最大公約数で割ると最小公倍数になります
package cn.zzunit.jnvi;

/**
 *       
 * @author tyrantForever
 *
 */
public class Project3 {

	public static void main(String[] args) {
		System.out.println("      :" + findMaxNumber(10,5));
		System.out.println("      :" + findMinNumber(10,5));
	}
	
	//       a b       
	public static int findMaxNumber(int a, int b) {
		if(b == 0) {
			return a;
		}
		return findMaxNumber(b, a%b);
	}
	
	//            
	public static int findMinNumber(int a, int b) {
		return a * b / findMaxNumber(a, b);
	}

}

 注意:
  最大公約数を求める方法の巧みさは、大きな数が前でも小さい数でも、最終的に計算された結果が正しい(小さい数が前であれば、自動的に交換位置が行われる)ことにある.