【基础入门题】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。