유클리드 호제법 이용
유의사항 => a > b
#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <deque>
using namespace std;
// 최대공약수
// 유클리드 호제법
int gcd(int a, int b) {
while (b > 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
// 최소공배수
// 최소공배수*최대공약수 = a*b -> 공식이용
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
cout << gcd(24, 12) << endl;
cout << lcm(12, 8) << endl;
return 0;
}
반응형
'자료구조 + 알고리즘' 카테고리의 다른 글
알고리즘 기초개념, 빅오표기법 (0) | 2021.09.05 |
---|---|
알고리즘 공부순서 (0) | 2021.09.05 |
소수 판별 알고리즘 - 에라토스테네스의 체 (0) | 2021.09.05 |
(C++) 조합(Combination) (0) | 2021.09.04 |
(C++) 순열(Permutation) (0) | 2021.09.04 |