`
QuarterLifeForJava
  • 浏览: 177829 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

用递归求最小公倍数的算法

阅读更多
public class Test {
	
	public static void main(String[] args) {
		//测试下
		int zxgbs = zxgbs(32,112);
		System.out.println(zxgbs);
		int zdgys = zdgys(112,32);
		System.out.println(zdgys);
	}
	
	//用递归方法求最小公倍数
	public static int zxgbs(int x,int y){
		if(x>=y){
			if(x==y){
				return x;
			}else{
				if(x%y==0){
					return y;
				}else{
					return zxgbs(y,x%y);
				}
			}
		}else{
			//两数交换
			x=x^y;
			y=x^y;
			x=x^y;
			return zxgbs(x,y);
		}
	}
	
	//调用最小公倍数的方法间接求得最大公约数
	public static int zdgys(int x,int y){
		int zdgys = (x/zxgbs(x, y))*(y/zxgbs(x, y))*zxgbs(x, y);
		return zdgys;
	}
	
}
分享到:
评论

相关推荐

    Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例

    在计算机编程中,特别是在使用Python语言进行开发时,经常需要对两个数值进行最大公约数(GCD)和最小公倍数(LCM)的计算。最大公约数是指两个或多个整数共有约数中最大的一个,而最小公倍数是指能被两个或多个整数...

    求最大公约数最小公倍数的3种算法的流程图

    本主题主要关注求最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的三种常见算法,通过流程图的方式进行阐述。下面我们将详细探讨这五种算法及其流程。 1. 辗转相除法...

    求两正整数的最小公倍数算法代码

    所以,我们先计算最大公约数,然后用上述公式求最小公倍数。 以下是一个基于辗转相除法实现最小公倍数的C语言代码示例: ```c #include // 计算最大公约数 int gcd(int a, int b) { if (b == 0) return a; ...

    C++ 递归 最大公约数与最小公倍数

    在这个C++程序中,我们使用递归方法来求解两个整数的最大公约数和最小公倍数。 首先,我们要理解递归的概念。递归是一种函数或过程调用自身的技术,通常用于解决具有重复结构的问题。在这里,我们通过递归函数`GCD`...

    VB 用函数求最小公倍数

    上述代码中,`GCD`函数使用了欧几里得算法(辗转相除法)来递归地计算最大公约数,而`LCM`函数则根据上面提到的公式来计算最小公倍数。 如果需要计算多个数的最小公倍数,我们可以采用以下策略:首先计算前两个数的...

    Python基于递归算法求最小公倍数和最大公约数示例

    本文实例讲述了Python基于递归算法求最小公倍数和最大公约数。分享给大家供大家参考,具体如下: # 最小公倍数 def lcm(a, b, c=1): if a * c % b != 0: return lcm(a, b, c+1) else: return a*c test_cases = ...

    如何用c语言求最大公约数和最小公倍数

    根据提供的文件信息,本文将详细解释如何使用C语言来实现最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的计算。 ### 最大公约数(GCD) #### 概念 最大公约数是指两个...

    最大公约数最小公倍数n-s盒图

    在计算机科学领域,最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是两个基本的数学概念,它们在算法设计和数据分析中广泛应用。N-S盒图(NS-Box Diagram),又称诺依曼-...

    Java-求若干个数的最小公倍数

    基于欧几里得算法,我们可以利用以下性质求最小公倍数:如果a和b的最大公约数为d,则它们的最小公倍数为a * b / d。这是因为a和b能被d整除,所以a * b也是d的倍数。而LCM(a, b)是最小的这样的倍数。 现在,我们扩展...

    求最小公倍数的方法_C++_最小公倍数的几种求法_联合公倍数_

    本文将深入探讨C++编程中求最小公倍数的几种常见方法,并结合相关标签“联合公倍数”进行讨论。 1. **直接公式法**: 最小公倍数可以通过两个数的乘积除以它们的最大公约数(GCD,Greatest Common Divisor)得到。...

    Java求两个数的最大公约数、最小公倍数.rar

    在Java编程语言中,求两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是常见的算法问题,这对于理解和掌握基本的数学运算以及编程技巧至关重要。本文将详细介绍...

    求最小公倍数

    对于更大的数或者更多的数,可以使用更高效的算法,如欧几里得算法改进版的扩展gcd算法来计算最大公约数,进而求最小公倍数。同时,也可以利用动态规划或矩阵快速幂等高级技术来优化求解过程。在学习和实践中,理解...

    C语言求最大公约数和最小公倍数算法总结

    C语言求最大公约数和最小公倍数算法总结 C语言中求最大公约数和最小公倍数的各种算法总结,包括辗转相除法和穷举法等。辗转相除法又名欧几里德法,是一种经典的算法,用于计算两个正整数的最大公约数和最小公倍数。...

    c语言实现最小公倍数程序

    ### C语言实现最小公倍数...通过本程序,我们不仅学习到了如何使用C语言实现最小公倍数的计算,还了解了最大公约数与最小公倍数之间的关系及其实际应用。这不仅有助于提高编程能力,还能帮助解决实际问题中的数学挑战。

    C语言实现最大公约数和最小公倍数算法

    在本文中,我们将深入探讨如何使用C语言来实现最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的算法。 最大公约数是指能够同时整除两个或多个整数的最大正整数。在C语言中...

    c#求最小公倍数、最大公约数

    虽然上述代码实现了求解最大公约数和最小公倍数的功能,但在实际开发中,更推荐使用欧几里得算法等更高效的数学算法来提高程序性能。此外,考虑到用户体验,可以进一步优化代码结构,如将逻辑封装到独立的函数中,...

    求两个数的最大公约数和最小公倍数

    在编程领域,最大公约数(Greatest...通过学习这个小程序,开发者不仅可以掌握如何在Java中实现最大公约数和最小公倍数的计算,还能进一步理解递归算法和基本的数论概念。这对于提升编程技能和解决实际问题都大有裨益。

    用C++求最大公约数最小公倍数的方法 .txt

    在IT领域,尤其是在编程技术中,使用C++求解...通过上述分析,我们不仅了解了如何使用C++求解最大公约数和最小公倍数,还深入探讨了代码背后的数学原理和算法实现,这对于学习C++编程和数学算法都有重要的参考价值。

    求m和n的最小公倍数和最大公约数.txt

    - `private void button1_Click(object sender, EventArgs e)` 方法是主要的计算逻辑部分,它实现了求两个整数的最大公约数和最小公倍数的功能。 - 首先将用户输入的两个整数转换为`int`类型。 - 如果输入的第一个...

Global site tag (gtag.js) - Google Analytics