最小公倍数
求任意两个正整数的最小公倍数(LCM)。
正常从大数开始找最小公倍数:
#include<iostream>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
if(m<n)
{
int temp=m;
m=n;
n=temp;
}
for(int i=m;i>0;i++)
{
if(i%m==0&&i%n==0)
{
cout<<m<<"和"<<n<<"最小公倍数为"<<i<<endl;
break;
}
}
return 0;
}
辗转相除法:
#include<iostream>
using namespace std;
int main()
{
int m,n,a,b,low;
cin>>m>>n;
cout<<m<<"和"<<n<<"最小公倍数为";
a=m*n;
if(m<n)
{
int temp=m;
m=n;
n=temp;
}
b=m%n;
while(b!=0)
{
m=n;
n=b;
b=m%n;
}
low=a/n;
cout<<low<<endl;
return 0;
}
运行结果如下: