算法设计与分析实验二:对任给的3个正整数,求它们的最小公倍数(Java语言)
对任给的3个正整数,求它们的最小公倍数
分析:递归设计的思想就是先找小规模问题去解,然后再递推地解决大问题。还可以直接设计一个求两个数的最小公倍数的函数LeastCommonMultiple()。这样,在主函数中通过函数的嵌套调用,就可完成求解3个数的最小公倍数的过程。
import java.util.Scanner;
public class TEST2 {
//题目:对任给的3个正整数,求它们的最小公倍数
//递归设计的思想就是先找小规模问题去解,然后再递推地解决大问题
// 还可以直接设计一个求两个数的最小公倍数的函数LeastCommonMultiple()
// 这样,在主函数中通过函数的嵌套调用,就可完成求解3个数的最小公倍数的过程。
public static void main(String[] args) {
System.out.println("Input 3 number:");
Scanner scanner = new Scanner(System.in);
int x1 = scanner.nextInt();
int x2 = scanner.nextInt();
int x3 = scanner.nextInt();
//利用函数嵌套调用实现3个数的最小公倍数
int x0 = LeastCommonMultiple(LeastCommonMultiple(x1, x2), x3);
System.out.println("x1.x2.x3,LeastCommonMultiple is " + x0);
}
//求两个整数的最小公倍数
public static int LeastCommonMultiple(int m, int n) {
int max = (m > n) ? m : n;
int c = 1;
for (int i = max; i <= m * n; i++) { //最大的数值开始,终点为2个数的乘积
if (i % n == 0 && i % m == 0) { //第一次出现的数值就是最小公倍数
c = i;
break;//找到第一个数值满足条件,跳出循环
}
}
return c;
}
}