πŸ“ Coding Test Study/Math

[Math&Algorithm] μ†Œμˆ˜?

ibelieveinme 2021. 3. 1. 02:53
728x90

β–·μ†Œμˆ˜λž€?

: μ•½μˆ˜κ°€ 1κ³Ό 자기 μžμ‹  밖에 μ—†λŠ” 수

: 2보닀 ν¬κ±°λ‚˜ κ°™κ³ , N-1보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜λ‘œ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€μ§€ μ•ŠλŠ” μžμ—°μˆ˜

μ†Œμˆ˜μ˜ 예) 2, 3, 5, 7, 11, 13, 17, 19, 23, ...

 

β–·μ†Œμˆ˜λ₯Ό κ΅¬ν•˜λŠ” 방법?

β‘  μžμ—°μˆ˜ N의 κ°€μž₯ 큰 μ•½μˆ˜λŠ” N/2보닀 μž‘κ±°λ‚˜ κ°™μœΌλ―€λ‘œ 2λΆ€ν„° N/2κΉŒμ§€ λ‚˜λˆ λ³΄κΈ°.

β‘‘ μžμ—°μˆ˜ N을 루트 NκΉŒμ§€ λ‚˜λˆ λ³΄κΈ°.

    Why? N이 μ†Œμˆ˜κ°€ μ•„λ‹ˆλΌλ©΄ N=a X b 둜 ν‘œν˜„ν•  수 μžˆλ‹€. (a와 bλŠ” μžμ—°μˆ˜)

            (이 λ•Œ, a와 bλŠ” a<=bκ°€ 성립해야 ν•œλ‹€. a > b 라면 두 수λ₯Ό λ°”κΏ”μ„œ 항상 a <= b둜 λ§Œλ“€ 수 μžˆλ‹€.)

            두 수 a와 bκ°€ κ°€μž₯ 적은 차이가 λ‚˜λŠ” κ²½μš°λŠ” 루트 N의 κ²½μš°μ΄λ‹€.

            N=a X b 둜 ν‘œν˜„ν–ˆμ„ λ•Œ, 이미 N의 μ†Œμˆ˜λ‘œ a와 bλŠ” ν•΄λ‹Ήλ˜μ§€ μ•ŠλŠ”λ‹€.

            λ”°λΌμ„œ κ°€μž₯ μž‘μ€ 차이둜 ν‘œν˜„λ˜λŠ” 루트NκΉŒμ§€ λ‚˜λˆ λ³΄λ©΄ λœλ‹€.

β‘’ μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체 μ΄μš©ν•œλ‹€λ©΄ 루트 NκΉŒμ§€ λ‚˜λˆ λ³Ό λ•Œ μ‹œκ°„μ„ 더 쀄일 μˆ˜λ„ μžˆλ‹€.

: μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ μ²΄λŠ” 2λΆ€ν„° NκΉŒμ§€ λͺ¨λ“  수λ₯Ό 써놓고, 2λΆ€ν„° κ·Έ 배수λ₯Ό λͺ¨λ‘ μ§€μš°λ©΄μ„œ μ†Œμˆ˜λ₯Ό μ°ΎλŠ” λ°©λ²•μœΌλ‘œ μˆ«μžκ°€ 클 λ•Œ μœ μš©ν•˜λ‹€.

728x90