现在的位置: 首页 > 综合 > 正文

求最大公约数-辗转相除法

2013年12月16日 ⁄ 综合 ⁄ 共 310字 ⁄ 字号 评论关闭

比较好用的是辗转相除法。

比如:49和91

 a      b
      temp

49  %  91  =  49

91  %  49  =  42

49  %  42  =  7

42  %  7    =  0

所以最大公约数就是7.

public class T {
	public static void main(String[] args) {
		int gcd = gcd(91, 49);
		System.out.println(gcd);
	}

	/**
	 * greatest commond divisor
	 * @param a
	 * @param b
	 * @return
	 */
	public static int gcd(int a, int b) {
		while(b != 0) {
			int temp = a%b;
			a = b;
			b = temp;
		}
		return a;
	}

}

抱歉!评论已关闭.