Euclidean Algorithm
유클리드 알고리즘에 대해 설명하는 페이지입니다.
Euclidean Algorithm
Tags
Algorithm
Introduction
- Definition
- 유클리드 알고리즘(Euclidean Algorithm)) 은 두 수의 최대공약수를 구하는데 사용되는 방법입니다.
- 유클리드 알고리즘은 두 수 a, b(a > b)의 공약수의 집합은 (a - b)와 b의 공약수 집합과 같다는 점을 이용합니다. 즉, a, b의 최대공약수 gcd(a, b)는 항상 (a - b)와 b의 최대공약수 gcd(a - b, b)와 같습니다.
How to Use
최소 공배수
1
2
3
4
5
6
7
8
// Java
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
1
2
// Kotlin
fun gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)
1
2
3
4
5
6
7
8
9
10
11
/**
* @param {number} a
* @param {number} b
*/
const gcd = (a, b) => {
if (b === 0) {
return a;
} else {
return gcd(b, a % b);
}
};
최대 공약수
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
* @param {number} a
* @param {number} b
*/
const gcd = (a, b) => {
if (b === 0) {
return a;
} else {
return gcd(b, a % b);
}
};
const a = 21;
const b = 15;
const lcm = (a * b) / gcd(Math.max(a, b), Math.min(a, b));
Examples
This post is licensed under CC BY 4.0 by the author.