码迷,mamicode.com
首页 > 其他好文 > 详细

最小公倍数的求解方法

时间:2018-03-05 21:16:25      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:div   bsp   c语言   multiple   str   有一个   body   mil   语言   

一 写在开头

1.1 本节内容

本文的主要内容是介绍一种两个数最小公倍数(Lowest Common Multiple)的求解方法。

 

二 最小公倍数求法

2.1 算法原理

两个数的公倍数可以是无限多个,但最小公倍数只有一个。在前面的文章中介绍了两数最大公约数的求解方法。这里介绍一种两个数的最小公倍数的求法。其基于的原理是两个数的最小公倍数会等于两个数的乘积除以两个数的最大公约数的结果。即:

LCM(a, b) = (a * b) / GCD(a, b)

下面结合最大公约数的求法使用C语言实现最小公倍数的求法。

 

2.2 算法的C语言实现

 1 /* 辗转相除法求最大公约数 */
 2 long GetGCD(long a, long b)
 3 {
 4     return (a % b == 0) ? b : GetGCD(b, a % b);
 5 }
 6 
 7 /* 求最小公倍数 */
 8 long GetLCM(long a, long b)
 9 {
10     return a / GetGCD(a, b) * b;
11 }

注意:之所以先除以最大公约数再相乘是为了减少溢出可能。

最小公倍数的求解方法

标签:div   bsp   c语言   multiple   str   有一个   body   mil   语言   

原文地址:https://www.cnblogs.com/laizhenghong2012/p/8511313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!