蓝桥杯 PREV-1(最小公倍数)

tech2022-07-17  182

求最小公倍数

求最小公倍数的两种方法:

最小公倍数=两数乘积/最大公因数

1 辗转相除法

求两数的余数,当余数为0时,除数是最大公因数。

#include<iostream> using namespace std; int function(int m,int n) { int x,y,z; if(m>n) { x=m; y=n; } else { x=n; y=m; } z=x%y; while(z!=0) { x=y; y=z; z=x%y; } return (m*n)/y; } int main() { int a,b,c; cin>>a>>b>>c; int d; d=function(a,b); d=function(d,c); cout<<d; return 0; }

2 更相减损术

两数相减(大数减小数),当两数相等时为两数的最大公因数。

#include<iostream> using namespace std; int function(int m,int n) { int x,y,t; x=m; y=n; while(x!=y) { if(x>y) { x=x-y; } else { y=y-x; } } return (m*n)/x; } int main() { int a,b,c; cin>>a>>b>>c; int d; d=function(a,b); d=function(d,c); cout<<d; return 0; }
最新回复(0)