标签:
欧几里得算法,用于求最大公因数。
package algorrithm; /* * 欧几里得算法 * 定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数 * 最大公约数(greatest common divisor)缩写为gcd。 * gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0) */ public class Ojld { public static void main(String[] args){ Gcd gcd = new Gcd(); System.out.println(gcd.getGcd(481,221)); } } class Gcd{ private int mod; public int getGcd(int a,int b){ if(a == b){ return a; } // 互换a,b 保证 a > b if(a < b){ a = a + b; b = a - b; a = a - b; } Gcd gcd2 = new Gcd(); mod = a % b; if(mod > 0){ return gcd2.getGcd(b,mod); }else{ return b; } } }
标签:
原文地址:http://www.cnblogs.com/SandBoat/p/5471184.html