본문 바로가기

알고리즘 문제 풀이/Programmers

최대공약수와 최소공배수 - 1단계 (C++)

반응형
SMALL
#include <string>
#include <vector>
#include <iostream>

using namespace std;

vector<int> solution(int n, int m) {
	vector<int> answer(2); // 최소공배수 값, 최대공배수 값만 처리합니다.
    int temp;
    if (n > m){
    	temp = m;
        m = n;
        n = temp;
    }
    // 최대공약수
    for (int a = 1; a <= m; a++){
    	if (m % a == 0 && n % a ==0) answer[0] = a;
    }
    // 최대공배수
    int max = n * m;
    for (int b = max; b >= m; b--){
    	if (max % b == 0 && b % m == 0 && b % n ==0){
        	answer[1] = b;
        }
    }
    return answer;
}
반응형
LIST