正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
题目来源:求最小公倍数
解题思路:
两个数的乘积等于两数的最大公约数和最小公倍数的乘积。所以此题的关键在于如何求两个数的最大公约数。
求最大公约数:
- a/b,令r为所得余数(0≤r<b) 若r=0,算法结束,a即为答案
- 互换:置 a←b,b←r,并返回第一步
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
System.out.println(lcm(a,b));
}
public static int lcm(int a,int b){
return (a*b)/gcb(a,b);
}
public static int gcb(int a,int b){
if(b==0){
return a;
}
return gcb(b,a%b);
}
}