ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€-Swift

μ •μˆ˜ 제곱근 νŒλ³„

CheonD 2022. 9. 23. 12:18

μ •μˆ˜ μ œκ³±κ·Ό νŒλ³„

 

 

  • μ •μˆ˜ 제곱근 νŒλ³„
문제 μ„€λͺ…

μž„μ˜μ˜ μ–‘μ˜ μ •μˆ˜ n에 λŒ€ν•΄, n이 μ–΄λ–€ μ–‘μ˜ μ •μˆ˜ x의 μ œκ³±μΈμ§€ μ•„λ‹Œμ§€ νŒλ‹¨ν•˜λ € ν•©λ‹ˆλ‹€.
n이 μ–‘μ˜ μ •μˆ˜ x의 제곱이라면 x+1의 μ œκ³±μ„ λ¦¬ν„΄ν•˜κ³ , n이 μ–‘μ˜ μ •μˆ˜ x의 제곱이 μ•„λ‹ˆλΌλ©΄ -1을 λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜μ„Έμš”.

μ œν•œ 사항
  • n은 1이상, 50000000000000 μ΄ν•˜μΈ μ–‘μ˜ μ •μˆ˜μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예nreturn
121 144
3 -1
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예#1
121은 μ–‘μ˜ μ •μˆ˜ 11의 μ œκ³±μ΄λ―€λ‘œ, (11+1)λ₯Ό μ œκ³±ν•œ 144λ₯Ό λ¦¬ν„΄ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예#2
3은 μ–‘μ˜ μ •μˆ˜μ˜ 제곱이 μ•„λ‹ˆλ―€λ‘œ, -1을 λ¦¬ν„΄ν•©λ‹ˆλ‹€.

 

핡심은 λ“€μ–΄μ˜¨ n값에 λŒ€ν•΄μ„œ 루트λ₯Ό μ”Œμš°κ³  Intν˜•μœΌλ‘œ λ³€ν™˜μ‹œν‚¬λ•Œ 제곱근이라면 λ‹€μ‹œ μ œκ³±ν–ˆμ„λ•Œ μ›λž˜ 값이 λ‚˜μ˜€κ³  제곱근이 μ•„λ‹ˆλΌλ©΄ λ‹€μ‹œ μ œκ³±ν•˜λ©΄ λ‹€λ₯Έ 값이 λ‚˜μ˜€λŠ” 것.

 

풀이

 

ν”Όλ“œλ°±

1. Foundation ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ©΄ sqrtλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.

2. sqrtν•¨μˆ˜λŠ” Doubleμ΄λ‚˜ Floatν”„λ‘œν† μ½œμ„ λ”°λ₯΄λŠ” κ²ƒλ“€λ§Œ μ‚¬μš©ν•  수 μžˆλ‹€.

3. μ œκ³±κ·Όμ΄λΌλŠ” 것은 루트λ₯Ό μ”Œμš°κ³  Intν˜•μœΌλ‘œ λ°”κΎΌ λ’€ λ‹€μ‹œ μ œκ³±ν–ˆμ„λ•Œ 같은 값이 λ‚˜μ™€μ•Όν•˜λŠ” 것