最小公倍数
作者:互联网
public static void main(String[] args) {
/*
* 最大公約数 Greatest Common Divisor(GCD)
* 最小公倍数 f(a,b)=f(min(a,b),max%min)
* if(max%min=0) f(a,b)=min
* 最大公倍数Least Common Multiple(LCM)
*/
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("最大公約数:" + gcd(a, b));
System.out.println("最小公倍数:" + lcm(a, b));
}
public static int gcd(int a, int b) {
int max, min, remainder;
max = (a > b) ? a : b;
min = (a < b) ? a : b;
remainder = max % min;
if (remainder == 0)
return min;
else
return gcd(min, remainder);
}
public static int lcm(int a, int b) {
return a * b / gcd(a, b);
}
心得:
1.利用递归实现,辗转相除法求最大公约数。
2.最小公倍数等于两数相乘再除以最大公约数。
标签:gcd,min,公倍数,最小,int,static,remainder 来源: https://www.cnblogs.com/xs1987/p/15133675.html