最大公约数定义:
最大公约数(最大公因数)就是几个数公有的因数中最大的一个.
最小公倍数定于:
最小公倍数就是几个数公有的倍数中最小的一个.
求最小公倍数的算法:(两个数的乘积/最大公约数)
求最大公约数的算法:
1.辗转相除法
有两个整数a,b
步骤:①a%b得到余数c
②如果c=0 那么b就是最大公约数
如果c!=0 那么a=b b=c 返回执行①
public static void getNum_1(int a,int b){
//获取最大公约数和最小公倍数的第一种方法:辗转相除法
//步骤1. a%b得到余数c
//步骤2 如果c=0,则b为最大公约数
// 如果 c!=0,则a=b b=c继续执行1
int sum=(a*b);
while(true){
int c=a%b;
if(c==0){
System.out.println(b+"为最大公约数");
break;
}else{
a=b;
b=c;
}
}
System.out.println((sum/b)+"为最小公倍数");
}
2.相减法
有两个整数a,b
步骤:①如果a >b 那么a=a -b
②如果a<b 那么b=b -a
③如果a=b 那么a(或b就是最大公约数)
如果a!=b 那么返回继续执行①
public static void getNum_2(int a,int b){
//获取两个数的最大公约数和最小公倍数
//第二种方法(整除法)
//步骤:1.如果a>b a=a-b
// 2.如果a<b b=b-a
// 3.如果a=b;则a(或b)是最大公约数
// 如果a!=b;则执行步骤1
int sum=(a*b);
while(true){
if(a>b){
a=a-b;
}else if(a<b){
b=b-a;
}else if(a==b){
System.out.println(a+"为最大公约数");
break;
}
}
System.out.println((sum/a)+"为最小公倍数");
}
3.穷举法
有两个整数a,b
步骤:①把a(或b)赋值给i
②如果a和b都能整除i 那么i就是最大公约数
否则i--,继续进行判断
public static void getNum_3(int a,int b){
//获取最大公约数和最小公倍数
//第三种方法:穷举法
//步骤:1.把a(或b)赋值给i
// 2.如果a,b都能整除i,那么i就是最大公约数
// 3.否则i--
int sum=(a*b);
int i=a;
while(true){
if(a%i==0&&b%i==0){
System.out.println(i+"为最大公约数");
break;
}
i--;
}
System.out.println((sum/i)+"为最小公倍数");
}