https://ko.wikipedia.org/wiki/유클리드_호제법
유클리도 호제법이란 최대공약수를 구하는 방법을 말한다.
예시)))))
1071과 1029의 최대공약수 구하기
1. 1071을 1029로 나누기 --->나머지 42
2.1029를 42로 나누기 --->나머지 21
3. 42를 21로 나누기 --->나머지0
따라서 최대공약수는 21이다.
자바 알고리즘으로 구현하기
int GCD(int a, int b){
if(b==0)
return a;
return GCD(b,b%a);
}
매우 쉬운 알고리즘이다.
이상황에서 최소공배수를 구하려면
최소공배수 = a*b/최대공약수 이다.
초등학교 때 배운 최소공배수 최대공약수이지만 [유클리드 호제법]이란 개념은 대학교 암호학 수업이후 처음 들어 포스팅 해보았다.
'[알고리즘]' 카테고리의 다른 글
순열, 조합, 부분집합 in JAVA (0) | 2023.02.26 |
---|---|
counting 정렬과 [백준] 11650번 (0) | 2022.12.08 |
binarysearch이진탐색이분탐색이라고 불리는 거 java로 만들어봐! (0) | 2022.11.15 |
[백준] 1764번 듣보잡!!!!!문제 hashmap문제 (0) | 2022.11.15 |
소수를 출력해보자-2 (에라토스테네스의 체) (0) | 2022.11.09 |