1. μλ°μμ μ κ³±κ·Όμ ꡬνλ λ°©λ² μκ°
μλ°μμ μ κ³±κ·Όμ ꡬνλ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ΅λλ€. κ·Έ μ€μμ κ°μ₯ κ°νΈνκ³ νν μ¬μ©λλ λ°©λ²μ Math.sqrt()
λ©μλλ₯Ό νμ©νλ κ²μ
λλ€. Math.sqrt()
λ©μλλ Math ν΄λμ€μ μ μ μΈ λ©μλλ‘μ, κ΄νΈ μμ μ κ³±κ·Όμ ꡬνκ³ μ νλ κ°μ λ£μ΄ νΈμΆνλ©΄ κ·Έ κ²°κ³Όλ₯Ό λ°νν©λλ€.
λ€μμ μ¬μ© μμμ λλ€.
double squareRoot = Math.sqrt(25);
μμ μ½λλ 25μ μ κ³±κ·Όμ ꡬνλ μμμ
λλ€. Math.sqrt(25)
λ₯Ό νΈμΆνλ©΄ 5.0μ΄λΌλ κ°μ λ°ννκ² λ©λλ€.
μ΄μ λΆν° μμΈν μμ보λλ‘ νκ² μ΅λλ€.
2. Math.sqrt() λ©μλμ κΈ°λ₯κ³Ό μ¬μ©λ² μ€λͺ
Math.sqrt()
λ©μλλ μ£Όμ΄μ§ μ«μμ μ κ³±κ·Όμ κ³μ°νλ μν μ ν©λλ€. μ΄ λ©μλλ μ μ (static) λ©μλλ‘ μ μΈλμ΄ μμΌλ―λ‘, Math ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μκ³ λ λ°λ‘ μ¬μ©ν μ μμ΅λλ€.
Math.sqrt()
λ©μλμ μ¬μ©λ²μ μλμ κ°μ΅λλ€.
double squareRoot = Math.sqrt(value);
μμ μ½λμμ value
λ μ κ³±κ·Όμ ꡬνκ³ μ νλ μ«μμ
λλ€. value
λ double νμμΌλ‘ μ§μ λ μ μμ΅λλ€.
Math.sqrt()
λ©μλλ μ£Όμ΄μ§ μ«μμ μμ μ κ³±κ·Ό κ°μ λ°νν©λλ€. λ°ν κ°μ double νμμΌλ‘ μ΄λ£¨μ΄μ Έ μμΌλ©°, μ κ³±κ·Όμ κ° μ체λ₯Ό λ°νν©λλ€. μλ₯Ό λ€μ΄, Math.sqrt(25)
μ κ²°κ³Όλ 5.0μ΄ λλ©°, Math.sqrt(9)
μ κ²°κ³Όλ 3.0μ΄ λ©λλ€.
μ£Όμν μ μ, Math.sqrt()
λ©μλλ μμ μ«μλ₯Ό μΈμλ‘ λ°μμ λ μ ν¨ν κ²°κ³Όλ₯Ό μ 곡νμ§ μμ΅λλ€. μμλ₯Ό μΈμλ‘ μ¬μ©ν κ²½μ° NaN
κ°μ λ°ννκ² λ©λλ€. λ°λΌμ μμμ μ κ³±κ·Όμ κ³μ°ν΄μΌ ν κ²½μ° μμΈ μ²λ¦¬λ₯Ό ν΄μ£Όμ΄μΌ ν©λλ€.
λ€μμΌλ‘ μ κ³±κ·Όμ ꡬνλ λ€λ₯Έ λ°©λ²λ€μ λν΄μ μμλ³΄κ² μ΅λλ€.
3. Math.sqrt() λ©μλμ μ¬μ© μμμ κ²°κ³Ό νμΈ
λ€μμ Math.sqrt()
λ©μλμ μ¬μ© μμμ κ²°κ³Όλ₯Ό νμΈνλ λ΄μ©μ
λλ€.
μμ 1
double squareRoot = Math.sqrt(25);
System.out.println(squareRoot);
μμ μ½λμμ Math.sqrt(25)
λ₯Ό νΈμΆνμ¬ 25μ μ κ³±κ·Όμ κ³μ°νκ³ , κ·Έ κ²°κ³Όλ₯Ό squareRoot
λ³μμ μ μ₯ν©λλ€. μ΄ν System.out.println(squareRoot)
λ₯Ό μ¬μ©νμ¬ μ κ³±κ·Ό κ°μ μΆλ ₯ν©λλ€. μ€ν κ²°κ³Όλ 5.0
μ΄ λ©λλ€.
μμ 2
double squareRoot = Math.sqrt(14);
System.out.println(squareRoot);
μμ μ½λμμ Math.sqrt(14)
λ₯Ό νΈμΆνμ¬ 14μ μ κ³±κ·Όμ κ³μ°νκ³ , κ·Έ κ²°κ³Όλ₯Ό squareRoot
λ³μμ μ μ₯ν©λλ€. μ΄ν System.out.println(squareRoot)
λ₯Ό μ¬μ©νμ¬ μ κ³±κ·Ό κ°μ μΆλ ₯ν©λλ€. μ€ν κ²°κ³Όλ 3.7416573867739413
μ΄ λ©λλ€.
μμ 3
double squareRoot = Math.sqrt(-9);
System.out.println(squareRoot);
μμ μ½λμμ Math.sqrt(-9)
λ₯Ό νΈμΆνμ¬ -9μ μ κ³±κ·Όμ κ³μ°νκ³ , κ·Έ κ²°κ³Όλ₯Ό squareRoot
λ³μμ μ μ₯ν©λλ€. μ΄ν System.out.println(squareRoot)
λ₯Ό μ¬μ©νμ¬ μ κ³±κ·Ό κ°μ μΆλ ₯ν©λλ€. μ€ν κ²°κ³Όλ NaN
μ΄ λ©λλ€. μ΄λ μμμ μ κ³±κ·Όμ μ ν¨ν κ²°κ³Όλ₯Ό μ 곡νμ§ μκΈ° λλ¬Έμ
λλ€.
μμ μμλ₯Ό ν΅ν΄ Math.sqrt()
λ©μλλ₯Ό μ¬μ©νμ¬ μ κ³±κ·Όμ ꡬνλ λ°©λ²κ³Ό κ·Έ κ²°κ³Όλ₯Ό νμΈν μ μμ΅λλ€. κ·Έλ¬λ μμ κ°μ λν μμΈ μ²λ¦¬κ° νμν μ μλ μ μν΄μΌ ν©λλ€. μ΄μ μ κ³±κ·Όμ ꡬνλ λ€λ₯Έ λ°©λ²μ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
4. μλ°μμ λ€λ₯Έ λ°©λ²μΌλ‘ μ κ³±κ·Όμ ꡬνλ λ°©λ²λ€ μκ°
μλ°μμ μ κ³±κ·Όμ ꡬνλ λ€λ₯Έ λ°©λ²λ€μ μκ°ν©λλ€.
1. Math.pow() λ©μλλ₯Ό μ΄μ©ν λ°©λ²
Math.pow()
λ©μλλ₯Ό μ¬μ©νμ¬ μ κ³±μ κ³μ°νκ³ , κ·Έ κ²°κ³Όμ λ€μ Math.sqrt()
λ©μλλ₯Ό μ μ©νμ¬ μ κ³±κ·Όμ ꡬν μ μμ΅λλ€. μλ₯Ό λ€μ΄, 16μ μ κ³±κ·Όμ κ³μ°νλ €λ©΄ Math.sqrt(Math.pow(16, 2))
μ κ°μ΄ μ¬μ©ν μ μμ΅λλ€.
double squareRoot = Math.sqrt(Math.pow(16, 2));
System.out.println(squareRoot);
2. Babylonian Methodλ₯Ό μ΄μ©ν λ°©λ²
Babylonian Methodλ κ·Όμ¬μ μΈ λ°©λ²μΌλ‘ μ κ³±κ·Όμ κ³μ°νλ λ°©λ²μ λλ€. μ΄ λ°©λ²μ μ κ³±κ·Όμ μ°Ύκ³ μ νλ μ«μμ μμμ guess κ°μ μ¬μ©νμ¬ κ·Όμ¬ κ°μ λ°λ³΅μ μΌλ‘ μ λ°μ΄νΈνλ λ°©μμ λλ€.
public static double sqrt(double number) {
double guess = number / 2;
double epsilon = 0.000001;
while (Math.abs(guess * guess - number) >= epsilon) {
guess = (guess + number / guess) / 2;
}
return guess;
}
μμ μ½λλ sqrt()
λ©μλλ₯Ό μ μν μμμ
λλ€. sqrt()
λ©μλλ μ£Όμ΄μ§ μ«μμ μ κ³±κ·Όμ κ³μ°νμ¬ λ°νν©λλ€. guess κ°μ μ΄κΈ°μ μ£Όμ΄μ§ μ«μμ μ λ°μ΄λ©°, epsilon κ°μ μνλ μ νλλ₯Ό λνλ
λλ€. λ°λ³΅μ μΌλ‘ guess κ°μ μ
λ°μ΄νΈνμ¬ κ·Όμ¬ κ°μ ꡬνκ³ , ꡬν κ°μ μ κ³±μ΄ μ£Όμ΄μ§ μ«μμμ μ°¨μ΄κ° epsilon μ΄νκ° λ λκΉμ§ λ°λ³΅ν©λλ€.
double squareRoot = sqrt(25);
System.out.println(squareRoot);
μμ μ½λμμ sqrt(25)
λ₯Ό νΈμΆνμ¬ 25μ μ κ³±κ·Όμ κ³μ°νκ³ , κ·Έ κ²°κ³Όλ₯Ό squareRoot
λ³μμ μ μ₯ν©λλ€. μ΄ν System.out.println(squareRoot)
λ₯Ό μ¬μ©νμ¬ μ κ³±κ·Ό κ°μ μΆλ ₯ν©λλ€.
μ΄μ²λΌ Math.pow()
λ©μλμ Babylonian Methodλ₯Ό μ¬μ©νμ¬ μλ°μμ μ κ³±κ·Όμ ꡬν μ μμ΅λλ€. κ°κ°μ λ°©λ²μ λ€λ₯΄κ² λμν μ μμΌλ―λ‘, μν©μ λ§κ² μ¬μ©νλ©΄ λ©λλ€.
5. Math.sqrt() λ©μλλ₯Ό νμ©ν μ€μ μμ λ° μμ© μ¬λ‘
Math.sqrt()
λ©μλλ μ κ³±κ·Όμ ꡬνλ κΈ°λ₯μ μ 곡νλ κ² μΈμλ λ€μν μ€μ μμ λ° μμ© μ¬λ‘μμ μ μ©νκ² νμ©λ μ μμ΅λλ€. μ΄λ² μΉμ
μμλ λͺ κ°μ§ μμμ μμ© μ¬λ‘λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
μμ 1: μ μ κΈΈμ΄ κ΅¬νκΈ°
μ μ κΈΈμ΄λ₯Ό ꡬνλ λ¬Έμ μμ Math.sqrt()
λ©μλλ₯Ό νμ©ν μ μμ΅λλ€. μ μ κΈΈμ΄λ₯Ό μκΈ° μν΄μλ μ’ννλ©΄ μμ λ μ μ¬μ΄μ 거리λ₯Ό ꡬν΄μΌ νλλ°, μ΄λ νΌνκ³ λΌμ€μ μ 리μ μν΄ μ±λ¦½ν©λλ€. λ€μμ (x1, y1) μ’νμ (x2, y2) μ’ν μ¬μ΄μ 거리λ₯Ό ꡬνλ μμμ
λλ€.
int x1 = 1;
int y1 = 2;
int x2 = 4;
int y2 = 6;
double distance = Math.sqrt(Math.pow((x2 - x1), 2) + Math.pow((y2 - y1), 2));
System.out.println(distance);
μμ μ½λμμλ μ£Όμ΄μ§ μ’νλ‘λΆν° λ μ μ¬μ΄μ 거리λ₯Ό κ³μ°νμ¬ distance
λ³μμ μ μ₯νκ³ , κ·Έ κ°μ μΆλ ₯ν©λλ€.
μμ 2: μΌκ°νμ λμ΄ κ΅¬νκΈ°
μΌκ°νμ λμ΄λ₯Ό ꡬνλ λ¬Έμ μμλ Math.sqrt()
λ©μλλ₯Ό νμ©ν μ μμ΅λλ€. μΌκ°νμ λμ΄λ₯Ό ꡬνκΈ° μν΄μλ λ°λ³κ³Ό λμ΄λ₯Ό κ³±ν ν 2λ‘ λλ μΌ ν©λλ€. λ€μμ λ°λ³κ³Ό λμ΄κ° μ£Όμ΄μ‘μ λ μΌκ°νμ λμ΄λ₯Ό ꡬνλ μμμ
λλ€.
int base = 5;
int height = 8;
double area = (base * height) / 2.0;
System.out.println(area);
μμ μ½λμμλ μ£Όμ΄μ§ λ°λ³κ³Ό λμ΄λ‘λΆν° μΌκ°νμ λμ΄λ₯Ό κ³μ°νμ¬ area
λ³μμ μ μ₯νκ³ , κ·Έ κ°μ μΆλ ₯ν©λλ€.
μμ© μ¬λ‘: κ·Έλν½ μ²λ¦¬
Math.sqrt()
λ©μλλ κ·Έλν½ μ²λ¦¬μ κ΄λ ¨λ λ€μν μμ© μ¬λ‘μμ μ¬μ©λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ’ννλ©΄ μμ μ κ³Ό μ μ¬μ΄μ 거리λ₯Ό κ³μ°νμ¬ λ μ μ¬μ΄μ μ μ 그리λ λ±μ μμ
μμ μ μ©νκ² νμ©λ μ μμ΅λλ€. λν, μ κ³±κ·Όμ΄ νμν μνμ μΈ κ³μ°λ λ§μ΄ μμ΄ Math.sqrt()
λ©μλλ₯Ό νμ©νμ¬ νΈλ¦¬νκ² μ²λ¦¬ν μ μμ΅λλ€.
μμ μμμ μμ© μ¬λ‘λ₯Ό ν΅ν΄ Math.sqrt()
λ©μλλ₯Ό μ€μ λ‘ νμ©νμ¬ λ€μν λ¬Έμ λ₯Ό ν΄κ²°ν μ μμμ μ μ μμ΅λλ€. Math.sqrt()
λ©μλμ νμ©μ νΈλ¦¬νλ©°, μ«μμ μν κ΄λ ¨ μμ
μμ λ€μν μ©λλ‘ νμ©λ μ μμ΅λλ€.
λκΈ