/**
* 求最大公约数和最小公倍数
*/
int num=4;
int num1=2;
int a = num>num1?num:num1;//拿最大
while (true){
/*
公约数,就是两个数可以同时被乘的数,例如12=3*4;16=4*4;他们之间相同的数就是公约数,
如果a能被b整除,那么b就是最大的公约数,不然只能减一往下寻找
*/
if(num % a ==0 && num1 % a ==0){
System.out.println(a);
break;
}
a--;
}
/*
公倍数:找他们相同的乘数,例如:a:3 ==》 3、6、9、12、15、18、21、“24”、27
b:8 ==》 8、16、”24“、32
那么24,就是他们的公倍数
如果最大的那个数能内最小的整除,那么最大的那个数就是最小公倍数;例如4/2 ;
*/
int b = num > num1 ? num1 : num;
while (true){
/*
公约数,就是两个数可以同时被乘的数,例如12=3*4;16=4*4;他们之间相同的数就是公约数,
如果a能被b整除,那么b就是最大的公约数,不然只能往下寻找
*/
if( b% num ==0 && b % num1 ==0){
System.out.println(b);
break;
}
b++;
}
java基础:最大公约数和最小公倍数
于 2021-04-28 20:14:19 首次发布