Java实例15 - 求最大公约数 gcd 辗转相除 欧几里德算法

 
/**
 * 辗转相除法求最大公约数又叫欧几里德算法
 * 它的依据是公理gcd(n,m) = (m, n%m)
 */
package al;
public class Gcd {
	public static void main(String[] args) {
		Gcd g = new Gcd();
		int gcd = g.getGcd(42823, 6409);
		System.out.println("gcd is " + gcd);
	}
	/**
	 * author 
	 * @param i first integer
	 * @param j second integer
	 * @return greatest common divisor
	 */
	public int getGcd(int i, int j) {
		int k; 
		while ((k=i%j) != 0) {			
			i = j;
			j = k;
		}
		return j;
	}
}

你可能感兴趣的:(10,算法代码)