Java 菜鳥(niǎo)教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序查找兩個(gè)數(shù)字的最小公倍數(shù)

Java 實(shí)例大全

在該程序中,您將學(xué)習(xí)使用Java程序查找兩個(gè)數(shù)字的最小公倍數(shù)。這是使用Java中的for和while循環(huán)完成的。

兩個(gè)整數(shù)的LCM是可以被兩個(gè)數(shù)字完全除(沒(méi)有余數(shù))的最小正整數(shù)。

示例1:使用while循環(huán)和if語(yǔ)句的LCM

public class LCM {
    public static void main(String[] args) {

        int n1 = 72, n2 = 120, lcm;

        //n1和n2之間的最大值存儲(chǔ)在lcm中
        lcm = (n1 > n2) ? n1 : n2;

        // 始終為 true
        while(true)
        {
            if( lcm % n1 == 0 && lcm % n2 == 0 )
            {
                System.out.printf("%d和%d的最新公倍數(shù)是%d.", n1, n2, lcm);
                break;
            }
            ++lcm;
        }
    }
}

運(yùn)行該程序時(shí),輸出為:

72 和120 的最新公倍數(shù)是360.

在這個(gè)程序中,要找到最小公倍數(shù)的兩個(gè)數(shù)字分別存儲(chǔ)在變量n1和n2中。
然后,我們首先將lcm設(shè)為這兩個(gè)數(shù)中最大的。
這是因?yàn)?,最小公倍?shù)不能小于最大的數(shù)。在無(wú)限while循環(huán)(while(true))中,我們檢查lcm是否完全除n1和n2。
如果是這樣,我們就找到最小公倍數(shù)了。我們打印最小公倍數(shù)并使用break語(yǔ)句跳出while循環(huán)。
否則,我們將lcm增加1并重新測(cè)試可除性條件。

我們還可以使用GCD通過(guò)以下公式查找兩個(gè)數(shù)字的LCM:

LCM = (n1 * n2) / GCD

如果您不知道如何用Java計(jì)算GCD,請(qǐng)檢查Java程序以找到兩個(gè)數(shù)字的GCD。

示例2:使用最大公因數(shù)計(jì)算LCM

public class LCM {
    public static void main(String[] args) {

        int n1 = 72, n2 = 120, gcd = 1;

        for(int i = 1; i <= n1 && i <= n2; ++i)
        {
            //檢查i是否是兩個(gè)整數(shù)的因數(shù)
            if(n1 % i == 0 && n2 % i == 0)
                gcd = i;
        }

        int lcm = (n1 * n2) / gcd;
        System.out.printf("%d和%d的最新公倍數(shù)是%d.", n1, n2, lcm);
    }
}

該程序的輸出與示例1相同。

在這里,在for循環(huán)內(nèi),我們計(jì)算兩個(gè)數(shù)字-n1和n2的GCD。 計(jì)算后,我們使用上面的公式來(lái)計(jì)算LCM。

Java 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清