1.题目:编写一个程序,输入m与n两个整数,计算并输出m与n的绝对值的最大公约数及最小公倍数
2.分析: 最大公约数 比如6(因子1 2 3 6) 8(因子1 2 4 8)最大且相同的因子是 2
最小公倍数 比如8(8 16 24 32...)12 (12 24 48...)最小且公共的倍数 24
最小公倍数也就是 两数相乘/最大公约数 比如 8*12/4=24
3.代码展示(复制可直接运行)
import java.util.*;
public class Y2017T2 {
public static int getGCD(int m,int n){ //最大公约数
int max=0;
for(int i=1;i<=n;i++){
if(m%i==0&&n%i==0){
max=i;
}
}
System.out.println("最大公约数为:"+max);
return max;
}
public static int getLMD(int m,int n){ //最小公倍数
int min=0;
int max;
max=getGCD(m, n);
min=m*n/max;
System.out.println("最小公倍数为:"+min);
return min;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
m=Math.abs(m);
n=Math.abs(n);
getGCD(m, n);
getLMD(m, n);
}
}