본문 바로가기
C++ 알고리즘/1. 알고리즘 개요

최소 공배수 구하기 !!

by Beijing_KingGod 2019. 9. 3.
#include <string>
#include <vector>
#include <algorithm>
#include<iostream>
using namespace std;

int get_gcd(int u, int v){
    int t;
    while(u!=0){
        if(v>u){
            t=u;
            u=v;
            v=t;
        }
        u=u%v;
    }
    return v;
}

int get_lcm(int u, int v){
    int gcd = get_gcd(u,v);
    return (u*v)/gcd;
}

int solution(vector<int> arr) {
    int answer = 0;
    sort(arr.begin(),arr.end());
    int lcm_num=arr[0];
    for(int i=1; i<arr.size(); i++){
        lcm_num=get_lcm(lcm_num,arr[i]);
    }
    return answer=lcm_num;
}

 

 

 

최소공배수는 a*b/gcd 이다.

댓글