首页 > 其他 > 详细

数论---lcm和gcd

时间:2019-10-10 14:17:37      阅读:100      评论:0      收藏:0      [点我收藏+]

cd即最大公约数,lcm即最小公倍数。

首先给出a×b=gcd×lcm

证明:令gcd(a,b)=k,a=xk,b=yk,则a×b=xykk,而lcm=xyk,所以ab=gcd*lcm。

所以求lcm可以先求gcd,而求gcd的方法就是辗转相除法,也叫做欧几里德算法,核心为gcd(m,n)=gcd(n,m%n)
递归实现:
‘‘‘
LL gcd(LL a, LL b){
return b ? gcd(b, a%b) : a;
}
‘‘‘
while循环:
‘‘‘
LL gcd(LL a, LL b){
LL t;
while(b){
t = b;
b = a % b;
a = t;
}
return a;
}
‘‘‘

数论---lcm和gcd

原文:https://www.cnblogs.com/ACMerLwy/p/11647373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!