求两个数的最小公倍数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求两个数的最小公倍数相关的知识,希望对你有一定的参考价值。

参考技术A

求两个数的最小公倍数方法如下:

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

最小公倍数求法。

如果大数是小数的整倍数,最小公倍数就是大数;如果大数不是小数的整倍数,将两个数分别分解因数,标记公共的因数,把两个数的因数相乘,公共的因数只乘一次,就可以了。

例如:6和36,36是6的整倍数,两个数的最小公倍数是36。12和18;12=6×2 18=6×3 有公共的因数6。将两个数的因数相乘,6×2×6×3,公共的因数是6,只计算一次,划掉一个6,变成6×2×3=36,最小公倍数是36。

最小公倍数的性质。

两个自然数的乘积等于这两个自然数的最大公约数和最小公倍数的乘积。最小公倍数的计算要把三个数的公有质因数和独有质因数都要找全,最后除到两两互质为止。

最小公倍数特点:倍数的只有最小的没有最大,因为两个数的倍数可以无穷大。

公倍数计算方法:

1、分解质因数法。

先把这几个数的质因数写出来,最小公倍数等于它们所有的质因数的乘积(如果有几个质因数相同,则比较两数中哪个数有该质因数的个数较多,乘较多的次数)。

比如求45和30的最小公倍数。45=3*3*5、30=2*3*5。

不同的质因数是2,5,3是他们两者都有的质因数,由于45有两个3,30只有一个3,所以计算最小公倍数的时候乘两个3。

2、公式法。

由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。即(a,b)×[a,b]=a×b。所以,求两个数的最小公倍数,就可以先求出它们的最大公约数,然后用上述公式求出它们的最小公倍数。

例如,求[18,20],即得[18,20]=18×20÷(18,20)=18×20÷2=180。

求几个自然数的最小公倍数,可以先求出其中两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数,依次求下去,直到最后一个为止。最后所得的那个最小公倍数,就是所求的几个数的最小公倍数。

写一个方法,求两个数的最大公约数和最小公倍数。

 

写一个方法,求两个数的最大公约数和最小公倍数。

package homework0702;

/*

 * 最大公约数

利用辗转相除法求解两个正整数的最大公约数

在循环中,只要除数不等于0,用较大的数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环较小的数,如此循环直到较小的数值为0,返回较大的数。即为最大公约数。

辗转相除法(欧几里得算法)

定理:两个整数的最大公约数等于其中较小的那个数和两数的相除余数的最大公约数。最大公约数(greatest common divisor)缩写为gcd

最小公倍数

最小公倍数 = (a * b)/最大公约数

 

 *

 */

import java.util.Scanner;

 

public class MaxMin {

 

 public static void main(String[]args){

        Scanner scanner = new Scanner(System.in);

             System.out.println("作者:王飞,郑州大学,兴唐教育");

        System.out.println("该结构用于求两个数的最大公约数和最小公倍数,欢迎使用");

        System.out.print("请输入第一个整数:\n");

        int a = scanner.nextInt();

        System.out.print("请输入第二个整数:\n");

        int b = scanner.nextInt();

        MaxMin(a,b);

    }

    public static void MaxMin(int a,int b){

        int i = a;

        int j = b;

        int x =0,y =0;

        if(a < b){

            x = b;

            b = a;

            a = x;

        }

        while(b != 0){

            y = a % b;

            a = b;

            b = y;

        }

        //最小公倍数

        int t = i * j / a;

        System.out.println(i+"和"+j+"的最大公约数为:"+ a);

        System.out.println(i+"和"+j+"的最小公倍数为:"+ t);  

    }

}

以上是关于求两个数的最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

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

求两个数的最小公倍数

JavaScript 如何求两个数的最小公倍数

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

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

如何求两数的最大公约数?