首页 > 代码库 > 公约数和公倍数

公约数和公倍数

package com.lin.huawei;
import java.util.Scanner;


public class gongyueshu {

/**
* @param args
*/
private static int GetGYS(int n1,int n2){
int k = 2; //从2开始测试 是不是最大公约数 3 4 5 6 k++;
int gys = 1; //初始化公约数

//只有当k小于等于 n1 和 n2 才继续检测是否有最大公约数,小于2或者等于2的最大公约数,显然是2,所以从2开始检测
for ( k = 2 ; k <= n1 && k <= n2 ; k++ ){
if ( n1 % k == 0 && n2 % k == 0){
gys = k ;
}
}
return gys;


}
private static int GetGBS(int n1,int n2){

int gbs = 1; //初始化公约数

//只有当k小于等于 n1 和 n2 才继续检测是否有最大公约数,小于2或者等于2的最大公约数,显然是2,所以从2开始检测
for (int k = Math.max(n1, n2) ; k <= n1 * n2 ; k++ ){
if ( k % n1 == 0 && k % n2 == 0){
gbs = k ;
break;
}
}
return gbs;


}
public static void main(String[] args) {
System.out.println(GetGYS(4,6));
//System.out.println(Math.max(4, 6));
System.out.println((4*6)/GetGYS(4,6));
System.out.println(GetGBS(4,6));
}

}

公约数和公倍数