最小公倍数=两个整数的乘积 / 最大公约数
求最大公约数的方法:
(1)辗转相除法
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b,tmp,m; 6 cin>>a>>b; 7 m=a*b; 8 if(a<b) 9 { 10 tmp=b; 11 b=a; 12 a=tmp; 13 } 14 while(b!=0) 15 { 16 tmp=a%b; 17 a=b; 18 b=tmp; 19 } 20 cout<<"LCD:"<<a<<endl; 21 cout<<"LCM:"<<m/a<<endl; 22 }
(2)相减法
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int a,b,tmp,m; 6 cin>>a>>b; 7 m=a*b; 8 while(a!=b) 9 { 10 if(a>b) a=a-b; 11 else b=b-a; 12 } 13 cout<<"LCD:"<<a<<endl; 14 cout<<"LCM:"<<m/a<<endl; 15 }