본문 바로가기
알고리즘

유클리드 호제법

by 태풍사랑 2020. 5. 17.

개념


  • 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나
  • 호제법 = 두 수가 서로 상대방 수를 나누어 결국 원하는 수를 얻는 알고리즘

예시


1071과 1029의 최대공약수

 

1071%1029 = 42

1029%42 = 21

 

42는 21로 나누어 떨어짐

∴ 최대공약수 = 21

 

소스코드


public static int gcd(int p, int q)
 {
	if (q == 0) return p;
	return gcd(q, p%q);
 }

'알고리즘' 카테고리의 다른 글

[Java] 백준 1026번 보물  (0) 2020.05.20
[Java] 백준 1890번 점프  (0) 2020.05.19
[Java] 백준 2609번 최대공약수와 최소공배수  (0) 2020.05.17
[Java] 백준 3036번 링  (0) 2020.05.17
[Java] 백준 14501번 퇴사  (0) 2020.05.17

댓글