方法:利用最大公约数
若两个数存在整除关系,则大的那个是最小公倍数,否则,两数之积除以他们俩的最大公约数即为他们的最小公倍数。
超级精简模板(赛版)
int gongbei(int n,int m)
{
if(n<m) swap(n,m);
return n%m==0?n:n*m/__gcd(n,m);//__gcd 要写两个下划线,不是一个
}
以下为举例:
#include<bits/stdc++.h>
using namespace std;
long long m,n,ans=0;
int gcd(int x,int y)
{
if(y==0) return x;
return gcd(y,x%y);
}
int main()
{
cin>>n>>m;//默认n为大数
if(n<m) swap(n,m);
if(n%m==0) cout<<n;
else cout<<(n*m)/gcd(n,m);
return 0;
}
函数版:
int gcd(int x,int y)
{
if(y==0) return x;
return gcd(y,x%y);
} //可以用algorithm库中的_gcd(n,m)代替
int gongbei(int n,int m)
{//默认n为大数
if(n<m) swap(n,m);
if(n%m==0) return n;
else return n*m/gcd(n,m);
}
//三目运算符简化
int gongbei(int n,int m)
{//默认n为大数
if(n<m) swap(n,m);
return n%m==0?n:n*m/gcd(n,m);
}