此处求解最小公倍数时使用的是”公式法”,话不多说,直接上代码
package cn.cupid;
/**
* @Author: cupid
* Created by Cupid520 on 2019/3/10.
* @Description: 求两个数的最大公约数和最小公倍数
*/
public class Test_1 {
public static void main(String[] args){
System.err.println("最大公约数 : " + getMaxCommonFactory(8, 6));
System.err.println("最小公倍数 : " + getMaxCommonMultiple(8, 6));
}
/**
* 求取两数之间的最大公约数
* @param a
* @param b
* @return 最大公约数
*/
public static int getMaxCommonFactory(int a , int b){
int res = 1;
if(a > b) {
for (int i = a; i > 0; i--) {
if ((a % i) == 0 && (b % i) == 0) {
res = i;
break;
}
}
}else{
for (int i = b; i > 0; i--) {
if ((a % i) == 0 && (b % i) == 0) {
res = i;
break;
}
}
}
return res;
}
/**
* 获取两数最小公倍数 ---(性质)两个自然数的乘积等于这两个自然数的最大公约数和最小公倍数的乘积
* @param a
* @param b
* @return
*/
public static int getMaxCommonMultiple(int a, int b){
int maxCommonFactory = getMaxCommonFactory(a, b);
int maxCommonMult = (a * b) / maxCommonFactory;
return maxCommonMult;
}
}