最大公約數與最小公倍數


  1. 概念

  2. 求最大公約數

  3. 求最小公倍數

  4. 拓展

一、概念

最大公約數:就是當前幾個數字中公有因數中組大的一個

最小公倍數:當前幾個數字中倍數最小的一個

核心公式: X*Y = 最大公約數* 最小公倍數

二、求最大公約數的三種方式

1、輾轉相除

 代碼實現:

/*
輾轉相除
*/
int passedBy(int x, int y)
{
    int n = y;
    while (x % y != 0)
    {
        n = x % y;
        x = y;
        y = n;
    }
    return n;
}

2、輾轉相減

代碼實現

/*
輾轉相減
*/
int passedSubtracting(int x ,int y) {
    while (x != y) {
        if (x > y) {
            x = x - y;
        }
        else {
            y = y - x;
        }
    }
    return x;
}

3、窮舉

 代碼實現

/*
窮舉法 
*/
int exhaustion(int x, int y) {
    int temp = 0;
    for (temp = x;; temp--) {
        if (x % temp == 0 && y % temp == 0) {
            break;
        }
    }
    return temp;
}

三、求最小公倍數

求最小公倍數,利用公式,首先求最大公約數

/*
利用最大公約數,求最小公倍數
*/
int fx(int x,int y) {
    int res = passedSubtracting(x,y);
    return x * y / res;
}

四、拓展

當求n個數字的最大公約數與最小公倍數(n >2)

參考:https://blog.csdn.net/qq_34793133/article/details/80305401

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM