1.
最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,
则称a为b的倍数,b为a的约数,对于两个自然数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算。
就是说
能够整除一个整数的整数称为其的约数(如5是10约数);1. 5.10
能够被一个整数整除的整数称为其的倍数(如10是5的倍数);5 .10
2.
分解质因数,两个数的公因数和各自的质因数相乘。
20的分解质因数:20=2×2×5。
15的分解质因数:15=3×5。
因为20的分解质因数和15的分解质因数含有一个公共的5,所以这个5在最后求最小公倍数的时候只出现一次。
即15和20的最小公倍数等于:2×2×3×5=60。
package booksTest;
import java.util.Scanner;
public class p54_3_18 {
public static void main(String[] args) {
/*
题目要求
从键盘输入两个整数,计算这两个数的最小公倍数和最大公因数并输出
最小公倍数(Least Common Multiple,缩写L.C.M.),如果有一个自然数a能被自然数b整除,
则称a为b的倍数,b为a的约数,对于两个自然数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算。
就是说
能够整除一个整数的整数称为其的约数(如5是10约数);1. 5.10
能够被一个整数整除的整数称为其的倍数(如10是5的倍数);5 .10
*/
//1.获取从键盘键入的两个整数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int number = sc.nextInt();
System.out.println("请再次输入一个整数");
int number1 = sc.nextInt();
//求number和number1的最大公约数
int gct = 1;//1本身是一个公约数 还是最小的
int k = 2;//假设k=2 循环k值 直到<=输出的两个数为止
int sum = 1;
while (k <= number && k <= number1 ){
if(number % k == 0 && number1 % k == 0)
gct = k;
k++;
}
System.out.println(gct);
//2.最小公倍数
/*
分解质因数,两个数的公因数和各自的质因数相乘。
20的分解质因数:20=2×2×5。
15的分解质因数:15=3×5。
因为20的分解质因数和15的分解质因数含有一个公共的5,所以这个5在最后求最小公倍数的时候只出现一次。
即15和20的最小公倍数等于:2×2×3×5=60。
*/
System.out.println((number/gct)*(number1/gct)*gct);
}
}