如何计算两个数的最小公倍数

2020-08-05  本文已影响0人  一位学有余力的同学

思路

最小公倍数的计算公式:
最小公倍数=两数的乘积/两数的最大公约数
两个数的最大公约数可以用辗转相除法,又叫欧几里得算法,来进行计算。例如有两个数:1997和615,计算两个数的最大公约数:

1997/615=3(余152)
615/152=4(余7)
152/7=21(余5)
7/5=1(余2)
5/2=2(余1)
2/1=2(余0)
因此:1997和615的最大公约数是1

下面我们来看看如何用代码实现求两个数的最小公倍数。

python实现

def func(a,b):
    m = a*b
    if a<b:
        a,b = b,a
    while a%b:
        a,b = b,a%b
    print(m//b)

if __name__ == '__main__':
    a,b = map(int, input().split())
    func(a,b)

c++实现

#include <iostream>
using namespace std;
int func(int a, int b){
    int mul = a*b;
    if(a<b){
        int tem1 = a;
        a = b;
        b = tem1;
    }
    while(a%b){
        int tem2 = b;
        b = a%b;
        a = tem2;
    }
    cout<<mul/b<<endl;
}
int main(){
    int a,b;
    cin>>a>>b;
    func(a,b);
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读