fbpx
维基百科

最小公倍數

最小公倍數数论中的一个概念。若有一個數,可以被另外兩個數整除,且大於(或等于),則公倍數的公倍數有無限個,而所有正的公倍數中,最小的公倍數就叫做最小公倍數。同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数。整数的最小公倍数一般记作:,或者参照英文记法记作,其中lcm是英语中“最小公倍数”一词(least common multiple)的首字母缩写。

分數进行加減运算時,要求兩數的分母相同才能計算,故需要通分;标准的计算步骤是将兩個分數的分母通分成它们的最小公倍數,然后将通分后的分子相加。

与最大公因数之关系 编辑

两个整数的最小公倍数与最大公因数之间有如下的关系:

 

计算方法 编辑

最小公倍数可以通过多种方法得到,最直接的方法是列举法,从小到大列举出其中一个数(如最大數)的倍数,当这个倍数也是另一个数的倍数时,就求得最小公倍数。另一个方法是利用公式 来求解,这时首先要知道它们的最大公因数。而最大公因数可以通过短除法得到。

利用整数的唯一分解定理,还可以用質因數分解法。将每个整数进行质因数分解。对每个质数,在质因数分解的表达式中寻找次数最高的乘幂,最后将所有这些质数乘幂相乘就可以得到最小公倍数。譬如求216384210的最小公倍數。对216384210来说:

   
其中 对应的最高次乘幂为  对应的最高次乘幂为   对应的最高次乘幂分别是  。将这些乘幂乘起来,就可以得到最小公倍数:
 

递归计算多个整数的最小公倍数 编辑

可以递归求出多个整数的最小公倍数:欲求  ,只需求  

这利用了性质  。该性质证明如下:

  的质因数分解分别为 ,其中   是第   个质数。

那么根据最小公倍数的定义, 

 

证毕。

程式代碼 编辑

以下使用輾轉相除法求得最大公因數,之後再求最小公倍數。

C# 编辑

int GCD(int a, int b) {  return a % b == 0 ? b : GCD(b, a % b); } int LCM(int a, int b) {  return a * b / GCD(a, b); } 

C 编辑

int GCD(int a, int b) {  if(b) while((a %= b) && (b %= a));  return a + b; } int LCM(int a, int b) {  return a * b / GCD(a, b); } 

C++ 编辑

template<typename T> T GCD(T a, T b) {  if (b) while((a %= b) && (b %= a));  return a + b; } template<typename T> T LCM(T a, T b) {  return a * b / GCD(a, b); } 

PASCAL 编辑

function gcd(a,b:integer):longint; begin  if b=0 then gcd:=a  else gcd:=gcd(b,a mod b); end; function lcm(a,b:integer):longint; begin  lcm:=(a*b) div gcd(a,b); end; 

JAVA 编辑

int GCD(int a, int b) {  return a % b == 0 ? b : GCD(b, a % b); } int LCM(int a, int b) {   return a * b / GCD(a, b); } 

RUBY 编辑

def gcd(a, b)  b.zero? ? a : gcd(b, a % b) end def lcm(a, b)  a * b / gcd(a, b) end 

Python 编辑

def gcd(a, b): return a if b == 0 else gcd(b, a % b) def lcm(a, b): return a * b / gcd(a, b) 

Golang 编辑

func GCD(a, b int) int {  if b == 0 {  return a  }  return GCD(b, a%b) } func LCM(a, b int) int {  return a * b / GCD(a, b) } 

应用 编辑

求最小公倍数是进行分数加减法时的步骤之一。将分母通分时,会把所有分数的分母通分为它们的最小公倍数,然后将分子相加。例如:

 

其中分母42就是21与6的最小公倍数。

参见 编辑

参考来源 编辑

  • 柯召,孙绮,孙琦. 《数论讲义》. 高等教育出版社. 2005. ISBN 753205473X. 
  • 阿尔伯特·H·贝勒著 谈祥柏译. 《数论妙趣:数学女王的盛情款待》. 上海教育出版社. 1998. ISBN 7040091909. 

最小公倍數, 是数论中的一个概念, 若有一個數x, displaystyle, 可以被另外兩個數a, displaystyle, displaystyle, 整除, 且x, displaystyle, 大於, 或等于, displaystyle, 和b, displaystyle, 則x, displaystyle, 為a, displaystyle, 和b, displaystyle, 的公倍數, displaystyle, 和b, displaystyle, 的公倍數有無限個, 而所有正的公倍數中, 最小的公倍. 最小公倍數是数论中的一个概念 若有一個數X displaystyle X 可以被另外兩個數A displaystyle A B displaystyle B 整除 且X displaystyle X 大於 或等于 A displaystyle A 和B displaystyle B 則X displaystyle X 為A displaystyle A 和B displaystyle B 的公倍數 A displaystyle A 和B displaystyle B 的公倍數有無限個 而所有正的公倍數中 最小的公倍數就叫做最小公倍數 同样地 若干个整数公有的倍数中最小的正整数称为它们的最小公倍数 n displaystyle n 整数a 1 a 2 a n displaystyle a 1 a 2 cdots a n 的最小公倍数一般记作 a 1 a 2 a n displaystyle a 1 a 2 cdots a n 或者参照英文记法记作lcm a 1 a 2 a n displaystyle operatorname lcm a 1 a 2 cdots a n 其中lcm是英语中 最小公倍数 一词 least common multiple 的首字母缩写 对分數进行加減运算時 要求兩數的分母相同才能計算 故需要通分 标准的计算步骤是将兩個分數的分母通分成它们的最小公倍數 然后将通分后的分子相加 目录 1 与最大公因数之关系 2 计算方法 2 1 递归计算多个整数的最小公倍数 3 程式代碼 3 1 C 3 2 C 3 3 C 3 4 PASCAL 3 5 JAVA 3 6 RUBY 3 7 Python 3 8 Golang 4 应用 5 参见 6 参考来源与最大公因数之关系 编辑两个整数的最小公倍数与最大公因数之间有如下的关系 lcm a b a b gcd a b displaystyle operatorname lcm a b frac a cdot b operatorname gcd a b nbsp 计算方法 编辑最小公倍数可以通过多种方法得到 最直接的方法是列举法 从小到大列举出其中一个数 如最大數 的倍数 当这个倍数也是另一个数的倍数时 就求得最小公倍数 另一个方法是利用公式lcm a 1 a 2 a 1 a 2 gcd a 1 a 2 displaystyle operatorname lcm a 1 a 2 frac a 1 a 2 gcd a 1 a 2 nbsp 来求解 这时首先要知道它们的最大公因数 而最大公因数可以通过短除法得到 利用整数的唯一分解定理 还可以用質因數分解法 将每个整数进行质因数分解 对每个质数 在质因数分解的表达式中寻找次数最高的乘幂 最后将所有这些质数乘幂相乘就可以得到最小公倍数 譬如求216 384和210的最小公倍數 对216 384和210来说 216 2 3 3 3 displaystyle 216 2 3 times 3 3 nbsp 384 2 7 3 1 displaystyle 384 2 7 times 3 1 nbsp 210 2 1 3 1 5 1 7 1 displaystyle 210 2 1 times 3 1 times 5 1 times 7 1 nbsp 其中2 displaystyle 2 nbsp 对应的最高次乘幂为2 7 displaystyle 2 7 nbsp 3 displaystyle 3 nbsp 对应的最高次乘幂为3 3 displaystyle 3 3 nbsp 5 displaystyle 5 nbsp 和7 displaystyle 7 nbsp 对应的最高次乘幂分别是5 1 displaystyle 5 1 nbsp 与7 1 displaystyle 7 1 nbsp 将这些乘幂乘起来 就可以得到最小公倍数 216 384 210 2 7 3 3 5 1 7 1 120960 displaystyle 216 384 210 2 7 times 3 3 times 5 1 times 7 1 120960 nbsp 递归计算多个整数的最小公倍数 编辑 可以递归求出多个整数的最小公倍数 欲求 lcm a 1 a n n 3 displaystyle operatorname lcm a 1 a n n geq 3 nbsp 只需求 lcm a 1 a n 2 lcm a n 1 a n displaystyle operatorname lcm a 1 a n 2 operatorname lcm a n 1 a n nbsp 这利用了性质 lcm a 1 a 2 a 3 lcm lcm a 1 a 2 a 3 displaystyle operatorname lcm a 1 a 2 a 3 operatorname lcm operatorname lcm a 1 a 2 a 3 nbsp 该性质证明如下 记 a 1 a 2 a 3 displaystyle a 1 a 2 a 3 nbsp 的质因数分解分别为 i 1 n p i e 1 i i 1 n p i e 2 i i 1 n p i e 3 i displaystyle prod i 1 n p i e 1i prod i 1 n p i e 2i prod i 1 n p i e 3i nbsp 其中 p i displaystyle p i nbsp 是第 i displaystyle i nbsp 个质数 那么根据最小公倍数的定义 lcm a 1 a 2 a 3 i 1 n p i max e 1 i e 2 i e 3 i displaystyle operatorname lcm a 1 a 2 a 3 prod i 1 n p i max e 1i e 2i e 3i nbsp lcm lcm a 1 a 2 a 3 lcm i 1 n p i max e 1 i e 2 i a 3 i 1 n p i max max e 1 i e 2 i e 3 i i 1 n p i max e 1 i e 2 i e 3 i displaystyle operatorname lcm operatorname lcm a 1 a 2 a 3 operatorname lcm prod i 1 n p i max e 1i e 2i a 3 prod i 1 n p i max max e 1i e 2i e 3i prod i 1 n p i max e 1i e 2i e 3i nbsp 证毕 程式代碼 编辑以下使用輾轉相除法求得最大公因數 之後再求最小公倍數 C 编辑 int GCD int a int b return a b 0 b GCD b a b int LCM int a int b return a b GCD a b C 编辑 int GCD int a int b if b while a b amp amp b a return a b int LCM int a int b return a b GCD a b C 编辑 template lt typename T gt T GCD T a T b if b while a b amp amp b a return a b template lt typename T gt T LCM T a T b return a b GCD a b PASCAL 编辑 function gcd a b integer longint begin if b 0 then gcd a else gcd gcd b a mod b end function lcm a b integer longint begin lcm a b div gcd a b end JAVA 编辑 int GCD int a int b return a b 0 b GCD b a b int LCM int a int b return a b GCD a b RUBY 编辑 def gcd a b b zero a gcd b a b end def lcm a b a b gcd a b end Python 编辑 def gcd a b return a if b 0 else gcd b a b def lcm a b return a b gcd a b Golang 编辑 func GCD a b int int if b 0 return a return GCD b a b func LCM a b int int return a b GCD a b 应用 编辑求最小公倍数是进行分数加减法时的步骤之一 将分母通分时 会把所有分数的分母通分为它们的最小公倍数 然后将分子相加 例如 2 21 1 6 4 42 7 42 11 42 displaystyle 2 over 21 1 over 6 4 over 42 7 over 42 11 over 42 nbsp 其中分母42就是21与6的最小公倍数 参见 编辑公倍数 公因数 最大公因数参考来源 编辑柯召 孙绮 孙琦 数论讲义 高等教育出版社 2005 ISBN 753205473X 阿尔伯特 H 贝勒著 谈祥柏译 数论妙趣 数学女王的盛情款待 上海教育出版社 1998 ISBN 7040091909 取自 https zh wikipedia org w index php title 最小公倍數 amp oldid 76606197, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。