题解 | #求最小公倍数#

求最小公倍数

https://www.nowcoder.com/practice/22948c2cad484e0291350abad86136c3

import math

a, b = map(int, input().split())


def cal_sushu(n):
    sushu = []
    for i in range(2, int(math.sqrt(a)) + 1):
        if n % i == 0:
            n = n // i
            if i not in sushu:
                sushu.append(i)

    if n > 2:
        if n not in sushu:
            sushu.append(n)
    return sushu


sushu_a = cal_sushu(a)
sushu_b = cal_sushu(b)

sushu_all = sushu_b.copy()
for i in sushu_a:
    if i not in sushu_b:
        sushu_all.append(i)

result = 1
for j in sushu_all:
    result = result * j
print(result)


分别计算两个数的素数(分别都要去掉重复的素数),然后两个列表的素数去掉重复的素数,最后两个列表的素数相乘得到结果。

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务