判断两个数的最小公倍数
最小公倍数
公倍数:公倍数(common multiple)是指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数。公倍数中最小的,就称为这些整数的最小公倍数(lowest common multiple)。
核心
欧几里得算法:欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。
代码即代码思路分析
import java.util.Scanner; public class 两个数的最小公倍数Day03 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt();//输入a int b=sc.nextInt();//输入b /* *先判断两个数是否相等 * 若相等,则不存在最小公倍数这个说法 * 公倍数存在于两个或多个整数之间 * 若不相等,运行欧几里得算法 * */ if(a==b) { System.out.println("应该输入两个不一样的数字"); }else{ //按照a,b的顺序从大到小排列这俩数 if (a > b) { a = a; b = b; } else { a = a + b; b = a - b; a = a - b; } //利用循环结构找出最小公倍数 //本质:欧几里得算法 int c = 1; while(c>0){ c=a%b; a=b; b=c; } System.out.println(a); } } }
注意
不能输入数字0 并且0除以任何不是0的数都等于0,即,0能被任何不是0的自然数整除。所以可以说:“0是任何非0自然数的倍数”。
由此,可以得到如下结论:0是任何自然数的最小倍数;0是任何两个自然数的公倍数;任何两个自然数的最小公倍数都是0。
但是,这样,求两个数的公倍数、最小公倍数也就没有任何意义了!所以,一般是在非0自然数范围内研究“数的整除”(数论)——研究“数的整除”时,不包括0。