MDGSF Software Engineer

[数学] 最大公约数和最小公倍数

2016-03-30
Art

如果数 a 能被数 b 整除,a 就叫做 b 的倍数。b 就叫做 a 的约数

最大公约数

几个整数中公有的约数,叫做这几个数的公约数。其中最大的一个,叫做这几个数的最大公约数

12、16 的公约数有 1、2、4,其中最大的一个是 4,所以 4 是 12 和 16 的最大公约数。

12、15、18 的最大公约数是 3。

最小公倍数

几个整数中公有的的倍数,叫做这几个数的公倍数。其中最小的一个,叫做这几个数的最小公倍数

4 的倍数有 4、8、12、16 …..

6 的倍数有 6、12、18、24 ….

4 和 6 的公倍数有 12、24 ….

其中最小的是 12,所以 12 是 4 和 6 的最小公倍数。

#include <stdio.h>

// 最大公约数
int iGcd(int iU, int iV)
{
    int iRemainder = iU%iV;
    while(iRemainder != 0)
    {
        iU = iV;
        iV = iRemainder;
        iRemainder = iU%iV;
    }
    return iV;
}

// 最小公倍数
int iLcm(int iU, int iV)
{
    return (iU*iV)/iGcd(iU, iV);
}

int main()
{
    printf("%d %d\n", iGcd(6, 4), iLcm(6, 4));
    return 0;
}

weixingongzhonghao

Similar Posts

Comments