最小公倍数

求任意两个正整数的最小公倍数(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;
}

运行结果如下:

 

posted @ 2023-05-23 14:39  为20岁努力  阅读(13)  评论(0编辑  收藏  举报