πŸ“• [STUDY] 개발/[STUDY] μ•Œκ³ λ¦¬μ¦˜

    [μˆ˜ν•™] μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•; μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜λŠ” λΉ λ₯Έ 방법

    μ†Œκ°œ μž„μ˜μ˜ 2개 μˆ˜μ— λŒ€ν•œ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•˜λŠ” 과정에 λŒ€ν•˜μ—¬, 각 수λ₯Ό μž„μ˜μ˜ 수둜 λ‚˜λˆ λ³΄λŠ” κ³Όμ • 없이 λΉ λ₯΄κ²Œ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό κ΅¬ν•΄λ‚΄λŠ” 방법 κ°œλ… 두 μ–‘μ˜ μ •μˆ˜ a, b에 λŒ€ν•˜μ—¬, a = bq + r (0 ≤ r < b)일 λ•Œ, a와 b의 μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” b와 r의 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ κ°™λ‹€. λ§Œμ•½ r이 0이라면, a와 b의 μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” b이닀. public static int gcd( int a, int b ) { int r = a % b; while( r != 0 ) { a = b; b = r; r = a % b; } return b; } μ‹œκ°„λ³΅μž‘λ„: O(logn) 원리 [μˆ˜ν•™μ•Œκ³ λ¦¬μ¦˜] μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²• [μˆ˜ν•™μ•Œκ³ λ¦¬μ¦˜] μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²• 이 κΈ€μ—μ„œλŠ” μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ˜ 증λͺ…κ³Ό 원리λ₯Ό λ‹€λ£Ήλ‹ˆλ‹€. justicehui.git..

    [μˆ˜ν•™] μ†Œμˆ˜νŒμ • μ•Œκ³ λ¦¬μ¦˜

    κ°œμš” λ°±μ€€ λ¬Έμ œν’€μ΄κ³Όμ •μ—μ„œ μœ μš©ν•˜κ²Œ μ‚¬μš©ν–ˆλ˜ μ•Œκ³ λ¦¬μ¦˜λ“€μ„ μœ ν˜•λ³„λ‘œ μ •λ¦¬ν•˜μ—¬ 뢄석 및 λ³΅μŠ΅ν•˜κ³ μž λ³„λ„μ˜ κΈ€λ‘œ μ •λ¦¬ν•˜κ²Œ 됨 μ •μ˜: μ†Œμˆ˜(Prime Number) μ†Œμˆ˜λž€ μžμ‹ λ³΄λ‹€ μž‘μ€ μˆ˜λ“€μ˜ 곱으둜 λ§Œλ“€μ–΄μ§ˆ 수 μ—†λŠ”, μ•½μˆ˜λ₯Ό 1κ³Ό μžμ‹ λ°–μ— 가지지 λͺ»ν•˜λŠ” 수λ₯Ό λ§ν•©λ‹ˆλ‹€. μ†Œμˆ˜κ°€ λ“±μž₯ν•˜λŠ” μˆœμ„œμ— κ·œμΉ™μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μ†Œμˆ˜λ₯Ό νŒμ •ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ€ μ‹œκ°„λ³΅μž‘λ„κ°€ μ€‘μš”ν•©λ‹ˆλ‹€. 방법1. μ•½μˆ˜λ²”μœ„ λ‚΄μ—μ„œ ν•˜λ‚˜μ”© λ‚˜λˆ λ³΄λ©° μ†Œμˆ˜μ—¬λΆ€ νŒλ‹¨ 1) 2λΆ€ν„° 1μ”© λŠ˜λ €κ°€λ©° λ‚˜λˆ λ³΄κ³  νŒλ‹¨ν•˜κΈ° 1은 λͺ¨λ“  μ†Œμˆ˜μ˜ μ•½μˆ˜μ΄λ―€λ‘œ, 2λΆ€ν„° 1μ”© λŠ˜λ €κ°€λ©° νŒλ³„ν•˜κ³ μž ν•˜λŠ” μˆ«μžμ™€ 일일히 λ‚˜λˆ λ³΄λŠ” λ°©λ²•μœΌλ‘œ, κ°€μž₯ κ°„λ‹¨ν•˜λ©΄μ„œ μ›μ΄ˆμ μΈ λ°©λ²•μž…λ‹ˆλ‹€. // νŒλ…ν•˜κ³ μž ν•˜λŠ” 숫자: n i값을 2λΆ€ν„° nκΉŒμ§€ 1μ”© 늘리며 μˆœνšŒν•˜λŠ” κ³Όμ •μ—μ„œ μ•„λž˜ μž‘μ—…μ„ 반볡수..