πŸ•Έ Algorithm/πŸ•Έ μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜

[Java/Algorithm]μ†Œμˆ˜μ™€ ν•©μ„±μˆ˜

뉴이 NUEY 2024. 8. 31. 02:03
λ°˜μ‘ν˜•
μžμ—°μˆ˜(-음수λ₯Ό μ œμ™Έν•œ μ •μˆ˜ 0~99~)λ₯Ό λΆ„λ₯˜ν•˜λŠ” 두가지 μ’…λ₯˜
μ†Œμˆ˜μ™€ ν•©μ„±μˆ˜

μ†Œμˆ˜
Prime Number
  • 1κ³Ό 자기 μžμ‹  μ™Έμ—λŠ” μ•½μˆ˜λ₯Ό 가지지 μ•ŠλŠ” μžμ—°μˆ˜.
μ•½μˆ˜λž€?
6을 λ‚˜λˆ΄μ„ λ•Œ 0이 λ˜λŠ” 수.
6의 μ•½μˆ˜λŠ” 1,2,3,6μž…λ‹ˆλ‹€.
μžμ—°μˆ˜λ₯Ό λ‚˜λˆ΄μ„ λ•Œ λ‚˜λˆ  λ–¨μ–΄μ§€κ²Œ ν•˜λŠ”(6%3λŠ” 2둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§‘λ‹ˆλ‹€) μžμ—°μˆ˜λ₯Ό λ§ν•©λ‹ˆλ‹€.
  • 2, 3, 5, 7, 11, 13, 17...
  • κ°€μž₯ μž‘μ€ μ†Œμˆ˜λŠ” 2이며, μ΄λŠ” μœ μΌν•œ 짝수 μ†Œμˆ˜μž…λ‹ˆλ‹€.
  • λͺ¨λ“  μ†Œμˆ˜λŠ” 1보닀 ν¬κ³ , ν™€μˆ˜μž…λ‹ˆλ‹€. (단, 2λŠ” μ˜ˆμ™Έ)

2~ 1000 사이 μ†Œμˆ˜λ₯Ό μ°ΎλŠ” ν”„λ‘œκ·Έλž¨ μ½”λ“œ. λ‚˜λˆ—μ…ˆμ„ μˆ˜ν–‰ν•œ 횟수 : 78022

  • ↑ μ½”λ“œ μ„€λͺ…
    • 2(κ°€μž₯ μž‘μ€ μ†Œμˆ˜)~100μ‚¬μ΄μ˜ μ†Œμˆ˜λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€.(λ°”κΉ₯ μͺ½ forλ¬Έ)
    • 1κ³Ό 자기 μžμ‹  μ™Έμ—λŠ” μ•½μˆ˜λ₯Ό 가지지 μ•Šμ•„μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— μ•ˆμͺ½ for문은 2~λΆ€ν„° nλ―Έλ§ŒκΉŒμ§€ for문을 μ‚¬μš©ν•©λ‹ˆλ‹€.
    • λ§Œμ•½ n이 사라면 μ•ˆμͺ½ forλ¬Έμ—μ„œ 4 % 2, 3이 λŒμ•„κ°€κ² μ£ .
      그럼 ifλ¬Έμ—μ„œ 4 % 2 의 λ‚˜λ¨Έμ§€λŠ” 0이기 λ•Œλ¬Έμ— μ†Œμˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.
    • 그럼 4 % 3을 ν•  ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ—
      break;λ₯Ό 톡해 μ•ˆμͺ½ for문만 λΉ μ Έλ‚˜κ°‘λ‹ˆλ‹€. (λ°”κΉ₯ for문은 계속 λ‹€μ‹œ μ‹€ν–‰λ˜ λ‹€μŒ 차둀인 5κ°€ μ‹€ν–‰λ©λ‹ˆλ‹€.)
μˆ˜ν–‰νšŸμˆ˜λ₯Ό 쀄이기 μœ„ν•΄ 
μ†Œμˆ˜κ°€ 2λ₯Ό μ œμ™Έν•˜λ©΄ λͺ¨λ‘ ν™€μˆ˜λΌλŠ” 점과
2 or 3으둜 λ‚˜λˆ„μ–΄ 떨어지지 μ•ŠμœΌλ©΄ 2x2인 4 와 3x2인 6μœΌλ‘œλ„ λ‚˜λˆ„μ–΄ 떨어지지 μ•ŠλŠ” 점을 μ΄μš©ν•˜λ©΄
μ•„λž˜μ™€ 같이 이미 κ΅¬ν•œ μ†Œμˆ˜λ‘œλ§Œ λ‚˜λˆ„μ–΄ 계산할 수 μžˆμŠ΅λ‹ˆλ‹€.

1000μ΄ν•˜ μ†Œμˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨2(κ°œμ„ version) λ‚˜λˆ—μ…ˆμ„ μˆ˜ν–‰ν•œ 횟수 : 78022

두 ν”„λ‘œκ·Έλž¨μ„ λΉ„κ΅ν•˜λ©΄ μ•Œκ³ λ¦¬μ¦˜μ€
λΉ λ₯Έ μ•Œκ³ λ¦¬μ¦˜μ€ λ©”λͺ¨λ¦¬λ₯Ό 많이 μš”κ΅¬ν•œλ‹€.
λŠ” κ±Έ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

κ°œμ„ μ— κ°œμ„ ν•œ μ½”λ“œ. λ„ˆλ¬΄ 잘 μ§œμ—¬μ§„ μ½”λ“œλΌ μ˜¬λ €λ΄…λ‹ˆλ‹€...


ν•©μ„±μˆ˜
  • μ•½μˆ˜μ™€ λ°˜λŒ€λ˜λŠ” 수.
  • ν•©μ„±μˆ˜λŠ” 1보닀 큰 μžμ—°μˆ˜λ‘œ μ •μ˜λ˜λ©°, μ΅œμ†Œ ν•©μ„±μˆ˜λŠ” 4μž…λ‹ˆλ‹€.
  • μ§μˆ˜μ΄λ“  ν™€μˆ˜μ΄λ“  ν•©μ„±μˆ˜κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 1κ³Ό 자기 μžμ‹  이외에도 μ•½μˆ˜λ₯Ό κ°€μ§€λŠ” μžμ—°μˆ˜. 적어도 μ„Έ 개 μ΄μƒμ˜ μ•½μˆ˜λ₯Ό κ°€μ§‘λ‹ˆλ‹€.
    ex) 4의 μ•½μˆ˜λŠ” 1, 2, 4μž…λ‹ˆλ‹€.

 

λ°˜μ‘ν˜•