先学下英语:
最大公约数GCM:greatest common measure
最小公倍数LCM:lowest common multiple
相减求公因数
public int getGCM(int m , int n){
while(m != n){
if(m > n){
m = m - n;
}
if(m < n){
n = n - m;
}
}
//System.out.println("最大公约数是:" + m);
return m;
}
欧几里德算法(递归)
public int getGCM(int m , int n){
if(m >= n){
if(m % n == 0){
return n;
}
return getGCM(n , m%n);
}else{
getGCM(n , m);
}
}
连续整数检测算法(从大数到小数找公约数,找到的第一个既是最大的一个)
public int getGCM(int m , int n){
if(m >= n){
if(m % n == 0){
return n;
}else{
int max = n;
for(; max > 0 ; max--){
if( m % max == 0 && n % max == 0){
return max;
}
}
}
return getGCM(n , m%n);
}else{
getGCM(n , m);
}
}
本文介绍了几种计算两个整数最大公约数(GCD)的方法,包括相减求公因数法、欧几里德算法及其递归实现,以及一种连续整数检测算法。这些算法为解决数学和计算机科学中的实际问题提供了有效手段。
求m,n最大公约数的三种方法&spm=1001.2101.3001.5002&articleId=52575758&d=1&t=3&u=73a4d61b0a8c453a8200c036c7a27d10)
6030

被折叠的 条评论
为什么被折叠?



