亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊(cè)

C程序?qū)ふ覂蓚€(gè)數(shù)字的最小公倍數(shù)(LCM)

C 語言編程實(shí)例大全

在此示例中,您將學(xué)習(xí)如何計(jì)算用戶輸入的兩個(gè)數(shù)字的LCM(最小公倍數(shù))。

要理解此示例,您應(yīng)該了解以下C語言編程主題:

兩個(gè)整數(shù)n1和n2的LCM是最小的正整數(shù),可以被n1和n2完全整除(沒有余數(shù))。 例如,72和120最小公倍數(shù)(LCM)為360。

使用while和if計(jì)算LCM(最小公倍數(shù))

#include <stdio.h>
int main() {
    int n1, n2, min;
    printf("輸入兩個(gè)正整數(shù): ");
    scanf("%d %d", &n1, &n2);

    //n1和n2之間的最大值存儲(chǔ)在min內(nèi)
    min = (n1 > n2) ? n1 : n2;

    while (1) {
        if (min % n1 == 0 && min % n2 == 0) {
            printf("%d和%d的LCM是%d。", n1, n2, min);
            break;
        }
        ++min;
    }
    return 0;
}

輸出結(jié)果

輸入兩個(gè)正整數(shù): 72
120
72和120的LCM是360。

在此程序中,用戶輸入的整數(shù)分別存儲(chǔ)在變量n1和中n2。

n1和n2的最大值存儲(chǔ)在min中,兩個(gè)數(shù)的LCM不能小于min。

while循環(huán)的測(cè)試表達(dá)式始終為真。

在每次迭代中,檢查min是否能被n1和n2完全整除。

if (min % n1 == 0 && min % n2 == 0) { ... }

如果這個(gè)測(cè)試條件不為真,那么min將遞增1,并繼續(xù)迭代,直到If語句的測(cè)試表達(dá)式為真為止。

也可以使用以下公式找到兩個(gè)數(shù)字的LCM:

LCM = (num1*num2)/GCD

了解如何在C語言編程中找到兩個(gè)數(shù)字的GCD。

使用GCD計(jì)算LCM

#include <stdio.h>
int main() {
    int n1, n2, i, gcd, lcm;
    printf("輸入兩個(gè)正整數(shù): ");
    scanf("%d %d", &n1, &n2);

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

    lcm = (n1 * n2) / gcd;

    printf("兩個(gè)數(shù)字%d和%d的LCM為%d。", n1, n2, lcm);
    return 0;
}

輸出結(jié)果

輸入兩個(gè)正整數(shù): 78
150
兩個(gè)數(shù)字78和150的LCM為1950。

C 語言編程實(shí)例大全