前言:求最大公约数有两种方法 更相减损法和辗转相处法 最小公倍数在求出最大公约数后 两个数相乘除以最大公约数就是最小公倍数
更相减损法是拿两个数中的较大值减去较小值,然后在减数、被减数、差之间选取两个较小值继续相减,直到减数和被减数相等,得出的数就是最小公约数。
例://更相减损术:
//8 10
//10 - 8=2
//8 - 2= 6
//6-2=4
//4-2=2
//2==2于是最大公约数就是2.
辗转相除法 是拿两个数中的较大值除以较小值取余,余数不为零继续选取两个小值相除,如果余数等于零,那么此时的除数就是最小公约数
//辗转相除法:(作业)
//8 10
//10 / 8 = 1 2
//8 / 2 =4 0
//得到0的那一次,除数就是最大公约数。
import java.util.Scanner;
class Homework01{
public static void main(String [] args){
int a = new Scanner(System.in).nextInt();
int b = new Scanner(System.in).nextInt();
int d = a*b;
for(int c = 0;;){//存放余数
if(a>b){
if(a%b==0){
System.out.println("最大公约数为:"+b);
System.out.println("最小公倍数:"+d/b);
break;
}
c = a%b;
a = c;
}else if(a<b){
if(b%a==0){
System.out.println("最大公约数为:"+a);
System.out.println("最小公倍数:"+d/a);
break;
}
c = b%a;
b = c;
}
}
//System.out.println("最小公倍数为:"+e/a);
}
}