【基础入门题044】最小公倍数

简介: 【基础入门题044】最小公倍数

【基础入门题】2021.12.10

给定两个正整数数,求这两个数的最小公倍数。


编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道

————————————————

方法一:循环暴力法

def LCM(m, n):
    for i in range(max(m,n),m*n+1):
        if i%m==0 and i%n==0:
            return i
print(LCM(81,3))
print(LCM(81,15))
print(LCM(81,54))



方法二:与最大公约数的关系

最小公倍数LCM 与 最大公约数GCD的关系: m * n = LCM(m, n) * GCD(m, n)

即用库函数表示为:

LCM = lambda m,n: m*n//__import__('math').gcd(m,n)
print(LCM(81,3), LCM(81,15), LCM(81,54))
# 81 405 162



所以,可参考最大公约数的代码稍作修改都可以:


比如:

def LCM(m, n):
    from fractions import Fraction
    return n*Fraction(m, n).numerator #取分子
    #return m*Fraction(m, n).denominator #或取分母
print(LCM(81,3))
print(LCM(81,15))
print(LCM(81,54))


答案为81、405、162。


目录
相关文章
|
8月前
|
存储 索引 Python
LeetCode刷题笔记(1)—— 两数之和
LeetCode刷题笔记(1)—— 两数之和
|
算法
【AcWing刷题】蓝桥杯专题突破-动态规划-dp入门(17)
【AcWing刷题】蓝桥杯专题突破-动态规划-dp入门(17)
138 0
|
Python
【基础入门题043】最大公约数
【基础入门题043】最大公约数
86 0
|
Python
【基础入门题046】多个整数的最小公倍数
【基础入门题046】多个整数的最小公倍数
73 0
|
Python
【基础入门题045】多个整数的最大公约数
【基础入门题045】多个整数的最大公约数
51 0
|
Python
【基础入门题018】求阶乘的和
【基础入门题018】求阶乘的和
81 0
|
Python
【基础入门题026】佩尔数列Pell(n)
【基础入门题026】佩尔数列Pell(n)
129 0
|
Python
【基础入门题061】数制转换(一)
【基础入门题061】数制转换(一)
95 0
|
C语言 Python
【基础入门题071】螺旋矩阵
【基础入门题071】螺旋矩阵
98 0
|
Python
【基础入门题042】哥德巴赫猜想
【基础入门题042】哥德巴赫猜想
97 0