Java使用递归求最小公倍数
要求
使用递归求出最小公倍数
思路
最小公倍数可以通过x和y的乘积除以最大公约数来得到,第一步求出最大公约数。
求最大公约数的方法为:先确定x和y的大小,将大的值赋值给x,x%y==0,则y为最大公约数。如果不等于0,则开始递归。
代码实现
import java.util.Scanner;
public class gcd {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in= new Scanner(System.in);
System.out.println("请输入数字x和y");
int x=in.nextInt();
int y=in.nextInt();
int z=x*y;
z=z/gcd(x,y);
System.out.println(z);//最小公倍数可以通过x和y的乘积除以最大公约数得到最小公倍数
}
public static int gcd(int x,int y){
if(x<y)//判断x和y的大小
{
int temp=x;
x=y;
y=temp;
}
if(x%y==0){
return y;
}
else{
return gcd(y,x%y);//递归求最大公约数
}
}
}