"""
利用公式:[a,b] = a * b // (a,b) 简单处理
解析:a和b的最小公倍数 = a * b // a和b的最大公约数
30,45最小公倍数为90
36,270最小公倍数为540
最大公约数,某数的因子[1,n),如6的因子为:1,2,3
54,24的最大公约数为:6
实现步骤:
1.键盘接收2个数
2.分别算出其因子列表
3.求2列表共有部分的最大值并返回
"""
def get_divisors(number):
"""
传入一个整数,返回其所有因子(列表)
:param number: 整数
:return: 该整数所有因子(列表)
"""
list1 = []
for i in range(1, number):
if number % i == 0:
list1.append(i)
return list1
def get_max_common_divisor(a, b):
"""
返回a,b的最大公约数
:param a:整数a
:param b:整数b
:return:a,b的最大公约数
"""
list1 = get_divisors(a)
list2 = get_divisors(b)
return max(set(list1) & set(list2))
def get_min_common_multiple(a, b):
"""
传入2个整数,返回其最小公倍数
:param a:
:param b:
:return:
"""
return a * b // get_max_common_divisor(a, b)
if __name__ == '__main__':
a = int(input('please input a:'))
b = int(input('please input b:'))
result = get_min_common_multiple(a, b)
print(result)
Python求最小公倍数
最新推荐文章于 2024-05-25 22:26:09 发布