最小公倍数求法为:最小公倍数 = 两个数的乘积/最大公约数
package test;
public class TestFindCommonDiv {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(findComDiv3(12, 30));
}
/**
* 查找实现
* @param a
* @param b
* @return
*/
public static int findComDiv(int a, int b) {
int maxCom = -1;
int minNum = a > b ? b : a;
for (int i = 1; i < minNum; i++) {
if (a % i == 0 && b % i == 0) {
if (maxCom < i) {
maxCom = i;
}
}
}
return maxCom;
}
/**
* 以求288和123的最大公约数为例,操作如下:
* 288÷123=2余42| 288%123 = 42
* 123÷42=2余39 | 123%42 = 39
* 42÷39=1余3 | 42%39 = 3
* 39÷3=13余0 | 39%3 = 0
* 所以3就是288和123的最大公约数。
* 辗转相除法 递归
* @param a 大
* @param b 小
* @return 最大公约数
*/
public static int findComDiv2(int a, int b) {
if (b == 0) {
return a;
} else {
return findComDiv2(b, a % b);
}
}
/**
* 辗转相除法 循环
* @param a
* @param b
* @return
*/
public static int findComDiv3(int a, int b) {
while (b != 0) {
int temp = a;
a = b;
b = temp % b;
}
return a;
}
}