본문 바로가기
알고리즘

[알고리즘] c++ cpp N개의 최소공배수

by keel_im 2020. 9. 23.
반응형

포인트 

1. 최대 공약수 gcd, 최소 공배수 lcm

gcd =  return b ? euclidean(b, a % b) : a;

lcm = a*b / gcd

 

2. #include <numeric> c++17 lcm, gcd 지원

#include <vector>
#include <algorithm>
#include <numeric>


using namespace std;


int solution(vector<int> arr) {
    sort(arr.begin(), arr.end(), greater<int>());
    int answer = arr[0];
    int size = arr.size();

    for (int i = 1; i < size; i++)
        answer = lcm(answer, arr[i]);


    return answer;
}

 

반응형

댓글