最大公约数和最小公倍数
import java.util.Scanner;
public class Ex05commonality {
/*
* 求整数m与n的最大公约数和最小公倍数
*
* 最大公约数greatestDivisor
* 能被m,n整除的最大整数
*
* 最小公倍数leastMultiple
* 能同时整除m,n的最小整数
*
*/
public int greatest(int m, int n){
int g = (m < n) ? m : n;
for(;g>1;g--){
if((m%g==0)&&(n%g)==0)
break;
}
return g;
}
public int least(int m, int n){
int least = m*n/this.greatest(m, n);
return least;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int m, n, greatest, least;
Ex05commonality ex05 = new Ex05commonality();
System.out.println("请输入一个整数:");
Scanner s = new Scanner(System.in);
m = s.nextInt();
System.out.println("请再输入一个整数:");
n = s.nextInt();
greatest = ex05.greatest(m, n);
least = ex05.least(m, n);
System.out.println(m+"和"+n+"的最大公约数是:"+greatest);
System.out.println(m+"和"+n+"的最小公倍数是:"+least);
s.close();
}
}
【运行结果】
请输入一个整数:
98
请再输入一个整数:
147
98和147的最大公约数是:49
98和147的最小公倍数是:294