最小公倍数和最大公约数方法
2017-06-30 16:58
316 查看
求最大共倍数和最小公约数的数学公式:a%b = mod 。 a和b的最大公约数与 b和mod的最大公约数是相等的。
下面是java下的实现:
public class MathUtil {
/*
* 最大公约数
*/
public static int gcd(int a , int b){
int gcd = 1 ,max ,min,mod;
max = a > b?a:b;
min = a <= b? a :b;
if(max%min == 0)
gcd = min;
else{
do{
mod = max % min;
if(mod == 0)
{
gcd = min;
break;
}
max = min;
min = mod;
}while(true);
}
return gcd;
}
/*
* 最小公倍数
*/
public static int gmd(int a , int b){
int gmd = 1 , x ,y;
int gcd = gcd(a ,b);
x = a / gcd;
y = b / gcd;
gmd = x*y*gcd;
return gmd;
}
public static void main(String[] args) {
System.out.println(gcd(12,20));
System.out.println(gmd(12,20));
}
}
下面是java下的实现:
public class MathUtil {
/*
* 最大公约数
*/
public static int gcd(int a , int b){
int gcd = 1 ,max ,min,mod;
max = a > b?a:b;
min = a <= b? a :b;
if(max%min == 0)
gcd = min;
else{
do{
mod = max % min;
if(mod == 0)
{
gcd = min;
break;
}
max = min;
min = mod;
}while(true);
}
return gcd;
}
/*
* 最小公倍数
*/
public static int gmd(int a , int b){
int gmd = 1 , x ,y;
int gcd = gcd(a ,b);
x = a / gcd;
y = b / gcd;
gmd = x*y*gcd;
return gmd;
}
public static void main(String[] args) {
System.out.println(gcd(12,20));
System.out.println(gmd(12,20));
}
}
相关文章推荐
- 详解C语言求两个数的最大公约数及最小公倍数的方法
- 求两数的最大公约数和最小公倍数的方法
- 求两个数的最大公约数和最小公倍数的方法(注意排除Duger)
- PHP编程求最大公约数与最小公倍数的方法示例
- 两种方法求最大公约数最小公倍数
- java中求最大公约数和最小公倍数的方法
- 求最大公约数和最小公倍数的三种方法总结
- java求最大公约数与最小公倍数的方法示例
- 求最大公约数和最小公倍数的方法
- 求最大公约数和最小公倍数的方法
- 一种很少见的求最大公约数和最小公倍数的方法
- 辗转相除法求最大公约数(最小公倍数)
- 关于最大公约数和最小公倍数的算法(自己写的一个,欢迎大家吐槽)
- 求最大公约数和最小公倍数的java程序题
- 求两个整数的最大公约数和最小公倍数
- 求两个数的最大公约数及最小公倍数 。
- 求最大公约数和最小公倍数
- 求两个数最大公约数和最小公倍数的简便方法
- 求最大公约数和最小公倍数
- 欧几里德算法(最小公倍数,最大公约数)