《算法零基础100讲》(第14讲) 最小公倍数

Posted 英雄哪里出来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《算法零基础100讲》(第14讲) 最小公倍数相关的知识,希望对你有一定的参考价值。

零、写在前面

  这是《算法零基础100讲》 专栏打卡学习的第十四天了。
  每天打卡的题,做不出来没关系,因为困难的题涉及知识点较多,后面还是会开放出来的,就像昨天的 最大公约数 那道题今天还是会有,所以不要着急,内容能看懂,能自己分析,能做出简单题,就可以打卡。
  在刷题的过程中,总结自己遇到的坑点,写出 「 解题报告 」 供他人学习,也是一种自我学习的方式。这就是经典的帮助他人的同时,成就自己。目前, 「 万人千题 」 社区 每天都会有五六篇高质量的 「 解题报告 」 被我 「 加精 」。如果觉得自己有能力的,也可以来发布你的 「 解题报告 」。千万级流量,你我共同拥有。

一、概念定义

1、最小公倍数

  两个数 a a a b b b 的最小公倍数 (Leatest Common Multiple) 是指同时被 a a a b b b 整除的最小倍数,记为 l c m ( a , b ) lcm(a, b) lcm(a,b)。特殊的,当 a a a b b b 互素时, l c m ( a , b ) = a b lcm(a, b) = ab lcm(a,b)=ab
  在 最大公约数 这一节,我们已经学会了求解 g c d gcd gcd 的方法,而求 l c m lcm lcm 需要先求 g c d gcd gcd,然后容易得到: l c m ( a , b ) = a b g c d ( a , b ) lcm(a, b) = \\frac {ab} { gcd(a, b)} lcm(a,b)=gcd(a,b)ab   根据算术基本定理,有如下公式满足: a = p 1 x 1 p 2 x 2 p 3 x 3 . . . p k x k b = p 1 y 1 p 2 y 2 p 3 y 3 . . . p k y k a = p_1^{x_1}p_2^{x_2}p_3^{x_3}...p_k^{x_k} \\\\ b = p_1^{y_1}p_2^{y_2}p_3^{y_3}...p_k^{y_k} a=p1x1p2x2p3x3...pkxkb=p1y1p2y2p3y3...pkyk  那么 g c d ( a , b ) gcd(a,b) gcd(a,b) l c m ( a , b ) lcm(a,b) lcm(a,b) 可以表示成如下等式: g c d ( a , b ) = p 1 m i n ( x 1 , y 1 ) p 2 m i n ( x 2 , y 2 ) p 3 m i n ( x 3 , y 3 ) . . . p k m i n ( x k , y k ) gcd(a,b)=p_1^{min(x_1,y_1)}p_2^{min(x_2,y_2)}p_3^{min(x_3,y_3)}...p_k^{min(x_k,y_k)} gcd(a,b)=p1min(x1,y1)p2min(x2,y2)p3min(x3,y3)...pkmin(xk,yk) l c m ( a , b ) = p 1 m a x ( x 1 , y 1 ) p 2 m a x ( x 2 , y 2 ) p 3 m a x ( x 3 , y 3 ) . . . p k m a x ( x k , y k ) lcm(a,b)=p_1^{max(x_1,y_1)}p_2^{max(x_2,y_2)}p_3^{max(x_3,y_3)}...p_k^{max(x_k,y_k)} lcm(a,b)=p1max(x1,y1)p2max(x2,y2)p3max(x3,y3)...pkmax(xk,yk)  需要说明的是这里的 a a a b b b 的分解式中的指数是可以为 0 的,也就是说 p 1 p_1 p1 a a a b b b 中某一个数的最小素因子, p 2 p_2 p2 是次小的素因子。 l c m ( a , b ) lcm(a, b) lcm(a,b) g c d ( a , b ) gcd(a, b) gcd(a,b) 相乘,相当于等式右边的每个素因子的指数相加,即 m i n ( x i , y i ) + m a x ( x i , y i ) = x i + y i min(x_i, y_i) + max(x_i, y_i) = x_i + y_i min(xi,yi)+max(xi,yi)=xi+yi 正好对应了 a a a b b b 的第 i i i 个素数分量的指数之和,从而得到:

以上是关于《算法零基础100讲》(第14讲) 最小公倍数的主要内容,如果未能解决你的问题,请参考以下文章

[解题报告]《算法零基础100讲》(第27讲) 字符串算法 - 高精度

《算法零基础100例》(第14例) 最小公倍数

《算法零基础100讲》(第3讲) 矩阵

《算法零基础100讲》(第26讲) 字符串算法 - 回文串

《算法零基础100讲》(第25讲) 字符串算法 - 字符串反转

《算法零基础100讲》(第24讲) 字符串算法 - 字符计数法