티스토리 뷰
문제 풀다가 유클리드 호제법이 나왔다.
옛날에 정리해 놓은 줄 알았는데 없어서 정리.
유클리드 호제법 (Greatest Common Divisor) : 최대공약수 구함
gcd(a,b) = gcd(b, a%b)가 성립
int gcd(int a, int b)
{
if(b == 0) return a;
return gcd(b, a%b);
}
int gcd(int a, int b)
{
int c;
while(b != 0)
{
c = a % b;
a = b;
b = c;
}
return a;
}
a와 b의 최대공약수를 리턴한다.
최소공배수 (Least Common muliple)
최소공배수는 다음이 성립한다
a * b = lcm(a, b) * gcd(a, b)
즉 lcm(a, b) = (a * b) / gcd(a, b) 이므로
a와 b의 곱한 값에 최대공약수를 나눠주면 된다.
'알고리즘' 카테고리의 다른 글
ccw (Counter Clockwise) (0) | 2022.02.24 |
---|---|
트라이 자료구조 (0) | 2022.02.22 |
최소 신장 트리(MST), 크루스칼 알고리즘 (kruskal) (0) | 2022.01.18 |
c++) Floyd Warshall (0) | 2021.12.28 |
bfs 탐색 깊이 기록하기 (0) | 2021.07.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이분탐색
- db
- DP
- CSS
- binary search
- Dijkstra
- 재귀
- MVC
- Spring
- 자료구조
- BFS
- back tracking
- Unity
- dfs
- Python
- Kruskal
- C
- priority queue
- greedy
- Implementation
- Stack
- recursion
- permutation
- two pointer
- C++
- floyd warshall
- graph
- Tree
- 조합
- Brute Force
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함