思路
最小公倍数的计算公式:
两个数的最大公约数可以用辗转相除法,又叫欧几里得算法,来进行计算。例如有两个数: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;
}
网友评论