算法竞赛中的数学模板积累

最大公约数(GCD)

//求x和y的最大公约数
long long gcd(long x,long long y){
if(x % y != 0) return fun(y , x % y);
else return y;
}

最小公倍数(LCM)

结论:
对于两个数正整数n和m,有

gcd(n,m)lcm(n,m)=nm

则我们可以根据这个结论得到最小公倍数的算法

lcm(m,n)=nm/gcd(n,m)

一般为了防止long long溢出 我们都会使用

lcm(n,m)=n/gcd(n,m)m

long long gcd(long x,long long y){
if(x % y != 0) return fun(y , x % y);
else return y;
}
cout<<n/gcd(n,m)*m<<endl;
posted @   Zhe8468  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示