Skip to content

Latest commit

Β 

History

History
49 lines (21 loc) Β· 2.19 KB

GCD&LCM.md

File metadata and controls

49 lines (21 loc) Β· 2.19 KB

μ΅œλŒ€κ³΅μ•½μˆ˜ GCD(Greatest Common Divisor)

  • μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” 두 μžμ—°μˆ˜μ˜ κ³΅ν†΅λœ μ•½μˆ˜ 쀑 κ°€μž₯ 큰 수λ₯Ό μ˜λ―Έν•œλ‹€.
  • ex) 72와 30의 μ΅œλŒ€ κ³΅μ•½μˆ˜λŠ” 6이닀.

μ΅œμ†Œ 곡배수 LCM(Least Common Multiple)

  • μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 두 μžμ—°μˆ˜μ˜ κ³΅ν†΅λœ 배수 쀑 κ°€μž₯ μž‘μ€ 수λ₯Ό μ˜λ―Έν•œλ‹€.
  • μ΅œμ†Œ 곡배수 = 두 μžμ—°μˆ˜μ˜ κ³± / μ΅œλŒ€ κ³΅μ•½μˆ˜
  • ex) 72와 30의 μ΅œμ†Œ κ³΅λ°°μˆ˜λŠ” 360이닀.

μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•(Euclidean Algorithm)

2개의 μžμ—°μˆ˜λ₯Ό μž…λ ₯ λ°›μ•„ μ΅œλŒ€ κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄ 2λΆ€ν„° 두 μžμ—°μˆ˜ 쀑 μž‘μ€ μžμ—°μˆ˜κΉŒμ§€ λͺ¨λ‘ λ‚˜λˆ„μ–΄λ³΄λ©΄μ„œ κ°€μž₯ 큰 κ³΅μ•½μˆ˜λ₯Ό ꡬ할 수 μžˆλ‹€. ν•˜μ§€λ§Œ, 이 λ°©λ²•μœΌλ‘œ 문제λ₯Ό ν’€λ©΄ μ‹œκ°„ λ³΅μž‘λ„λŠ” O(N)이 λœλ‹€. λ‚˜μœ 방법은 μ•„λ‹ˆμ§€λ§Œ, 보닀 νš¨μœ¨μ„ 높일 수 μžˆλŠ” 방법이 μ‘΄μž¬ν•˜λ©° μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ΄λž€ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜λ©΄ μ‹œκ°„ λ³΅μž‘λ„λ₯Ό O(logN)으둜 쀄일 수 μžˆλ‹€.

ν˜Έμ œλ²•μ΄λž€? 두 μˆ˜κ°€ μ„œλ‘œ μƒλŒ€λ°© 수λ₯Ό λ‚˜λˆ„μ–΄μ„œ κ²°κ΅­ μ›ν•˜λŠ” 수λ₯Ό μ–»λŠ” 방법

[μ •μ˜]

2개의 μžμ—°μˆ˜ a,b에 λŒ€ν•΄μ„œ aλ₯Ό b둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό r이라 ν•˜λ©΄ 단(a>b), a와 b의 μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” b와 r의 μ΅œλŒ€ κ³΅μ•½μˆ˜μ™€ κ°™λ‹€. 이 μ„±μ§ˆμ— 따라, bλ₯Ό r둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€ r0λ₯Ό κ΅¬ν•˜κ³ , λ‹€μ‹œ r을 r0둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” 과정을 λ°˜λ³΅ν•˜μ—¬ λ‚˜λ¨Έμ§€κ°€ 0이 λ˜μ—ˆμ„ λ•Œ, λ‚˜λˆ„λŠ” μˆ˜κ°€ a와 b의 μ΅œλŒ€ κ³΅μ•½μˆ˜μ΄λ‹€.

μ΄λŠ” λͺ…μ‹œμ μœΌλ‘œ 기술된 κ°€μž₯ 였래된 μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œμ„œλ„ μ•Œλ €μ Έ 있으며, 기원전 300λ…„ 경에 쓰인 μœ ν΄λ¦¬λ“œμ˜ <μ›λ‘œ> 제7ꢌ, λͺ…μ œ 1λΆ€ν„° 3κΉŒμ§€μ— ν•΄λ‹Ήν•œλ‹€.

ex) 85와 51의 μ΅œλŒ€ κ³΅μ•½μˆ˜λ₯Ό μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ„ μ‚¬μš©ν•˜μ—¬ κ΅¬ν•΄λ³΄μž.

  • X % Y = R이라고 ν–ˆμ„ λ•Œ, X,Y의 μ΅œλŒ€ κ³΅μ•½μˆ˜λŠ” Y와 R의 μ΅œλŒ€ κ³΅μ•½μˆ˜μ™€ κ°™λ‹€λŠ” νŠΉμ§•μ„ κΈ°μ–΅ν•˜μž. λ‚˜λ¨Έμ§€ R이 0이 될 λ•ŒκΉŒμ§€ Y와 R의 λ‚˜λ¨Έμ§€ 연산을 λ°˜λ³΅ν•œλ‹€.
  • 85 % 51 = 34
  • 51 % 34 = 17
  • 34 % 17 = 0
  • μ΄λ•Œ, Y κ°’μ˜ μžλ¦¬μ— μžˆλŠ” 17이 μ΅œλŒ€ κ³΅μ•½μˆ˜κ°€ λœλ‹€.

Reference