프로그래머스/lv2/12953. N개의 최소공배수

SITY·2023년 10월 17일
0

Cpp_Algorithm

목록 보기
32/43

#include <string>
#include <vector>

using namespace std;

int euclid(int a, int b)
{
    if (a % b == 0) return b;

    return euclid(b, a % b);
}
int lcm(int a, int b)
{
    return a * b / euclid(a, b);
}
int solution(vector<int> arr)
{
    int a = lcm(arr[0], arr[1]);
    
    for (int i = 2; i < arr.size(); i++)
        a = lcm(a, arr[i]);
    
    return a;
}

유클리드 알고리즘을 이용하면 쉽게 lcm(최소공배수)를 구할 수 있다.

profile
·ᴗ·

0개의 댓글