求最小公倍数

    xiaoxiao2021-04-16  38

    介绍:

    求两个数的最小公倍数

    思路:

    最小公倍数有几种求法,我选择先求最大公约数,然后利用最小公倍数=(num1*num2)/最大公约数的方法来求 import java.util.Scanner; public class 最小公倍数 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int x=input.nextInt(); int y = input.nextInt(); minNum(x,y); } private static void minNum(int x, int y) { if(x==0&&y==0){ System.out.println("不能两者都为0"); }else{ int temp,a,b; if(x<y){//当x<y时,将x、y换位置。使x>y,因为求最大公约数是取余,前面的数要比后面的大 temp = y; y = x; x = temp; } a = x; b = y; while(b!=0){ //第一次判断的时候,如果b==0,那么说明最大公约数就是0; //第一次过后,b就代表的是余数了,余数如果不为0,说明还没有整除,需要一直循环,直到能够整除。 //当b==0时,上一个b的值赋值给了a。所以最大公约数现在是a。 temp = a%b; a = b; b = temp; } System.out.println("最大公约数为"+a); System.out.println("最小公倍数为"+(x*y)/a); } } }

    总结:

    这道题其实就是对辗转相除法的一个实现,利用辗转相除法来计算最大公约数。
    转载请注明原文地址: https://ju.6miu.com/read-673052.html

    最新回复(0)