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
- java ์ฝ๋ฉ ํ ์คํธ
- GIT
- ๋ฐฑ์ค
- Vue.js
- ๋ฐฐ๋น์ฃผ
- ์ฝํ๋ฆฐ
- ๋ฏธ๊ตญ๋ฐฐ๋น์ฃผํฌ์
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฏธ๊ตญ์ฃผ์
- Kotlin
- ์๋ฐ ์๊ณ ๋ฆฌ์ฆ
- pnpm
- ๋ฐฑ์ค ์ฝํ๋ฆฐ
- Java
- ์๋ฐ์คํฌ๋ฆฝํธ
- Swift
- CI/CD
- ํ์ฝํ
- kotlin ์๊ณ ๋ฆฌ์ฆ
- linux
- js
- kotlin algorithm
- ํ์ด์ฌ
- ์๋ฐ
- vue3
- python
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝํ๋ฆฐ ์๊ณ ๋ฆฌ์ฆ
- javascript
- ์ฝํ๋ฆฐ ์คํ
Archives
- Today
- Total
๐ ์ ์ด์ ๋จธ๋ฆฟ์์ผ๋ก
[Algorithm] ์ต๋ ๊ณต์ฝ์, ์ต์ ๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ ๋ณธ๋ฌธ
Programming/Algorithm
[Algorithm] ์ต๋ ๊ณต์ฝ์, ์ต์ ๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ
Space_Jin 2022. 4. 6. 11:11728x90
๋ฐ์ํ
GCD(Greatest Common Divisor) ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์ฌ์ฉ
def gcd(a, b):
while b:
a, b = b, a % b
return a
a = b x q + r ์ด๋ผ๊ณ ํ์ ๋, GCD(a, b) = GCD(b, r)๋ฅผ ๋ง์กฑํ๋ค.
๊ฐ๋จ ์ฆ๋ช :
์ํ์ ์ผ๋ก ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ์ด ์์ง๋ง ์ดํด๋ฅผ ์ํด์ ๊ฐ๋จํ ์ค๋ช ํ์๋ฉด ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค.
b = r x m + n์ผ๋ก ํํํ ๋, n์ด 0์ด๋ผ๋ฉด b = rm์ผ๋ก ํํ๋๋ค. ์ฆ, b์ r์ ์ต๋ ๊ณต์ฝ์ GCD(b, r) = m์ด ๋๋ค.
a = bq + r = rmq + r = r(mq + 1) ์ด๋ฏ๋ก GCD(a, b) = r ์ด๋ค.
=> GCD(a, b) = GCD(b, r) = GCD(r, 0) = r
LCM(Lowest Common Multiple) ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ
def lcm(a, b):
return a // gcd(a, b) * b
a์ b์ ์ต๋ ๊ณต์ฝ์ GCD(a, b) = m์ด๋ผ๊ณ ํ์ ๋,
a = Am, b = Bm์ผ๋ก ํํ ํ ์ ์๋ค.
์ด๋, ์ต๋ ๊ณต์ฝ์(M) = ABm ์ด๋ค.
๋ฐ๋ผ์ a % m * b = Am % m * Bm = ABm์ด ๋๋ค.
728x90
๋ฐ์ํ