반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 백준9단계
- 브루트포스
- BFS
- ☆
- 코딩공부
- 자바의정석
- 백준
- 백준알고리즘
- 빅오 표기법
- 자바
- 알고리즘공부
- 무료개발강의
- 자바의정석연습문제
- 개발공부
- dp
- 알고리즘
- Java개념
- java
- 백준자바
- 백준단계별로풀어보기
- 자바개념
- 백트래킹
- 동적계획법
- 무료코딩강의
- 시간 복잡도
- dfs
- 자바의정석연습문제풀이
- ★
- 다이나믹 프로그래밍
- 자바공부
Archives
- Today
- Total
더 많이 실패하기
유클리드 호제법 (최대공약수와 최소공배수) 본문
반응형
최대공약수와 최소공배수를 구하는 알고리즘이다
방법은 아래와 같다 (출처)
- 입력으로 두 수 m,n(m>n)이 들어온다.
- n이 0이라면, m을 출력하고 알고리즘을 종료한다.
- m이 n으로 나누어 떨어지면, n을 출력하고 알고리즘을 종료한다.
- 그렇지 않으면, m을 n으로 나눈 나머지를 새롭게 m에 대입하고, m과 n을 바꾸고 3번으로 돌아온다.
이렇게 최대공약수를 구한다
1
2
3
4
5
|
public static int gcd(int p, int q)
{
if (q == 0) return p;
return gcd(q, p%q);
}
|
cs |
이를 자바 코드로 풀면 위와 같다(첨부한 링크에 그대로 있는 코드)
위의 코드가 최대공약수를 구하는 알고리즘이고,
최소공배수는 두 수를 곱한 뒤 최대공약수로 나누면 된다 즉, p * q / gcd
반응형
'개념정리 > 자료구조' 카테고리의 다른 글
에라토스테네스의 체 (0) | 2023.03.30 |
---|---|
이분 탐색 이진 탐색(Binary Search) (0) | 2023.03.10 |
알고리즘 시간 복잡도 빅오 표기법 (0) | 2023.02.24 |
이진 트리 전위 순회(preorder), 중위 순회(inorder), 후위 순회(postorder) (0) | 2023.02.19 |
깊이 우선 탐색 DFS와 너비 우선 탐색 BFS (0) | 2023.01.27 |
Comments