输出两个正整数m和n,求出这两个数最大公约数和最小公倍数
分析:两个必然会有一大一小,比较出来,用for循环来处理小的那个数,找出最大公约数,进而求出最小公倍数
package com.math.forth;
import java.util.Scanner;
/**
* 输出两个正整数m和n,求出这两个数最大公约数和最小公倍数
*
* @author wql
*
*/
public class Meth05 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数:");
int m=sc.nextInt();
System.out.println("请输入第二个数:");
int n=sc.nextInt();
method(m,n);
}
public static void method(int m,int n){
int max=m>n?m:n; //两个数分别出最大最小值
int min=m>n?n:m;
int k=0;
int j=0;
if(max%min==0){
System.out.println("最大公约数:"+min+",最小公倍数:"+max);
}else{
for(int i=min;i>0;i--){
if(max%i==0&&min%i==0){//得出最大公约数
k=i;
}
}
j=max*min/(k*k); //最小公倍数
System.out.println("最大公约数:"+k+",最小公倍数:"+j);
}
}
}