`
zhangyuanjava
  • 浏览: 129493 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

求最小公倍数和最大公约数

 
阅读更多
     下面的方法是用递归解决的。如求几个整数的最小公倍数的时候,先求前两个的最小公倍数,然后求这个数与第三个数的最小公倍数,依次,即可求出。



Java代码
public class LeastCommonMultiple   
{  
    public static void main(String[] args)  
    {  
        int[] arr = {6, 9, 3, 12};  
        int result = -1;  
          
        LeastCommonMultiple lcm = new LeastCommonMultiple();  
          
        result = lcm.getMinCommonMultiple(arr);  
        System.out.println(result);  
          
        result = lcm.getMaxDivisor(arr);  
        System.out.println(result);  
    }  
      
    public int getMinCommonMultiple(int[] arr)  
    {  
        int result = arr[0];  
          
        for(int i=1; i<arr.length; i++)  
        {  
            result = getMinCommonMultiple(result, arr[i]);  
        }  
          
        return result;  
    }  
      
    public int getMaxDivisor(int[] arr)  
    {  
        int result = arr[0];  
          
        for(int i=1; i<arr.length; i++)  
        {  
            result = getMaxDivisor(result, arr[i]);  
        }  
          
        return result;  
    }  
      
    public int getMinCommonMultiple(int a, int b)  
    {  
        int result = -1;  
        int temp = -1;  
          
        temp = getMaxDivisor(a, b);  
          
        result = a * b;  
        result = result / temp;  
          
        return result;  
    }  
      
    public int getMaxDivisor(int a, int b)  
    {  
        int temp = -1;  
          
        if(a < b)  
        {  
            temp = a;  
            a = b;  
            b = temp;  
        }  
          
        while(b != 0)  
        {  
            a = a % b;  
            temp = a;  
            a = b;  
            b = temp;  
        }  
          
        return a;  
    }  


public class LeastCommonMultiple
{
public static void main(String[] args)
{
int[] arr = {6, 9, 3, 12};
int result = -1;

LeastCommonMultiple lcm = new LeastCommonMultiple();

result = lcm.getMinCommonMultiple(arr);
System.out.println(result);

result = lcm.getMaxDivisor(arr);
System.out.println(result);
}

public int getMinCommonMultiple(int[] arr)
{
int result = arr[0];

for(int i=1; i<arr.length; i++)
{
result = getMinCommonMultiple(result, arr[i]);
}

return result;
}

public int getMaxDivisor(int[] arr)
{
int result = arr[0];

for(int i=1; i<arr.length; i++)
{
result = getMaxDivisor(result, arr[i]);
}

return result;
}

public int getMinCommonMultiple(int a, int b)
{
int result = -1;
int temp = -1;

temp = getMaxDivisor(a, b);

result = a * b;
result = result / temp;

return result;
}

public int getMaxDivisor(int a, int b)
{
int temp = -1;

if(a < b)
{
temp = a;
a = b;
b = temp;
}

while(b != 0)
{
a = a % b;
temp = a;
a = b;
b = temp;
}

return a;
}
}
输出为:



Java代码
36 
3
分享到:
评论

相关推荐

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

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

    用LabVIEW求最大公约数和最小公倍数

    用LabVIEW求最大公约数和最小公倍数。可以自行选择数据。

    算法-求最小公倍数和最大公约数的方法.rar

    "算法-求最小公倍数和最大公约数的方法"这个压缩包文件显然聚焦于两个基础数学概念:最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)。这些概念在计算、数据结构和算法设计...

    FPGA求最大公约数及最小公倍数verilog

    基于FPGA开发板的两位数求最大公约数和最小公倍数的设计,该设计中利用辗转相减法求得公约数与公倍数,且两个数的数值可通过按键修改,设计灵活可靠。该设计基于vivado开发,并带有testbench文件,方便仿真学习。

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

    建议采用更高效的算法,如上述的辗转相除法或更相减损法来求最大公约数,并基于此快速计算最小公倍数,从而提高程序的执行效率和性能。 总之,在实际的IT项目开发中,理解并掌握最大公约数和最小公倍数的求解方法...

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

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

    基础算法-python求最大公约数和最小公倍数

    python求最大公约数和最小公倍数 #辗转相除法 def gcd(a,b): #最大公约数函数,且最小公倍数 = 两个数相乘 / 最大公约数 if b == 0: return a else: return gcd(b,a%b) print("请输入两个数:") j,k = input()....

    最小公倍数 最大公约数_最小公倍数_最大公约数_

    在编程领域,尤其是在数学计算和算法设计中,最小公倍数(LCM)和最大公约数(GCD)是两个非常基础且重要的概念。这两个概念主要用于处理整数之间的关系,帮助我们理解它们之间的共性和差异。 **最大公约数...

    求最大公约数和最小公倍数

    2.编写两个函数,分别求两个整数的最大公约数和最小公倍数

    python 输入两个正整数计算最大公约数和最小公倍数 示例

    python 输入两个正整数计算最大公约数和最小公倍数 示例

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

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

    输出m,n的最大公约数和最小公倍数代码

    从给定的文件标题“输出m,n的最大公约数和最小公倍数代码”及描述“输出m,n的最大公约数和最小公倍数,大家共同学习。”可以看出,该文件旨在通过编程实现这一数学功能,帮助读者理解并掌握最大公约数和最小公倍数的...

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

    尤其是在编程语言的学习与应用中,C#作为一种广泛使用的面向对象的高级编程语言,提供了丰富的功能来处理各种数学运算,包括求解两个或多个整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least ...

    vb求最大公约数和最小公倍数

    在VB语言中,求最大公约数和最小公倍数是常见的数学运算问题,本文将详细介绍VB语言中求最大公约数和最小公倍数的方法。 一、求最大公约数 在VB语言中,求最大公约数可以使用欧几里德算法,该算法的基本思想是:两...

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

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

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

    求两个整数的最大公约数和最小公倍数的C语言方法

    JAVA实现求最大公约数和最小公倍数

    JAVA实现求最大公约数和最小公倍数 根据欧几里得定律,最大公约数的递归算法

    获取两个数的最大公因数和最小公倍数

    用碾压法求出两个数的最大公因数,然后将剩下的分子连乘再乘以最大公因数即可获得最小公倍数

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

    求最小公倍数通常可以利用最大公约数来计算,公式为:两数的乘积除以它们的最大公约数等于最小公倍数,即LCM(a, b) = |a * b| / GCD(a, b)。 在Java中,我们可以创建一个类`GcdAndLcm`,并在其中定义两个方法`gcd...

Global site tag (gtag.js) - Google Analytics