최대공약수 - 유클리드 호제법
int gcd(int a, int b){
int k;
while(m!=0){
k = a % b;
a = b;
b = k;
}
return a;
}
유클리드 호제법은 최대공약수를 찾는 가장 빠른 방법이라더라.
덧붙여서 gcd는 헤더파일 numeric에 이미 있다.(!)
#include <numeric>
c = std::gcd(a,b);
최소공배수
int lcm(int a, int b){
return a * b / gcd(a, b);
}
a * b = gcd(a, b) * lcm(a, b)를 이용한다.
'공부 > 코테 준비하자' 카테고리의 다른 글
[프로그래머스 Lv.2/ C++] 숫자의 표현 (0) | 2022.09.10 |
---|---|
대소문자 변경 (0) | 2022.09.09 |
[프로그래머스 Lv.2/ C++] 올바른 괄호 (0) | 2022.08.28 |
[프로그래머스 Lv.2/ C++] 빛의 경로 사이클 (0) | 2022.08.17 |