여러 수의 최대 공약수 푸는 문제인데 답은 알맞게 나오는데 시간이 너무 오래걸린다.

시간 단축 하는 법 좀 알려줘라


def getLCM(a, b):

    c, d = max(a, b), min(a, b)

    while c != d:

        temp = c - d

        c, d = max(temp, d), min(temp, d)

    

    return a * b // c


def nlcm(num):

    temp = 1

    while len(num) != 0:

        temp = getLCM(temp, num[-1])

        num.pop()

    return temp


# 아래는 테스트로 출력해 보기 위한 코드입니다.

print(nlcm([2,6,8,14,5]));