문제 주소입니다.
https://programmers.co.kr/learn/courses/30/lessons/12940
1. 문제 설명
2. 문제 해석
3. 소스 코드
4. 결과
1. 문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. |
제한사항
두 수는 1이상 1000000이하의 자연수입니다. |
예시
입출력 예
n | m | return |
3 | 12 | [3, 12] |
2 | 5 | [1, 10] |
2. 문제풀이
유클리드 알고리즘을 이용하여 품 |
3. 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <string>
#include <vector>
using namespace std;
/*
유클리드 알고리즘
*/
//최대 공약수
int gcd(int a, int b) {
int c;
while (b != 0){
c = a % b;
a = b;
b = c;
}
return a;
}
//최소 공배수
int lcm(int a, int b, int c) {
return a * b / c;
}
vector<int> solution(int n, int m) {
vector<int> answer;
answer.push_back(gcd(n, m));
answer.push_back(lcm(n, m, answer.at(0)));
return answer;
}
|
4. 결과
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
예상 대진표 C++(팁스다운)[프로그래머스] (0) | 2020.05.09 |
---|---|
영어 끝말잇기 C++(섬머/윈터코딩)[프로그래머스] (0) | 2020.05.08 |
호텔방 배정 python(카카오 2019 겨울인턴십)[프로그래머스] (0) | 2020.05.06 |
불량사용자 python(카카오 2019겨울인턴십)[프로그래머스] (0) | 2020.05.05 |
tuple python(카카오 2019겨울인턴십)[프로그래머스] (0) | 2020.05.04 |
댓글