본문 바로가기
Java

[Java] 제곱근(루트) 구하기 Math.sqrt()

by 가영리 2022. 6. 12.
728x90

최근 제곱근을 구하는 알고리즘 문제를 풀면서 sqrt() 메서드를 알게 됐다.

sqrt 메서드는 Math 클래스의 메서드이다.

 

Java.lang.Math 클래스

 

Math 클래스는 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스이다.

 Math 클래스의 모든 메소드는 클래스 메소드(static method)이다.

따라서 객체( instance)를 생성하지 않아도 메소드를 바로 사용할 수 있다.

이러한 Math클래스는 java.lang 패키지에 포함되어 제공된다.

 

 

Math.sqrt()

 

@HotSpotIntrinsicCandidate
public static double sqrt(double a) {
   return StrictMath.sqrt(a); // default impl. delegates to StrictMath
                              // Note that hardware sqrt instructions
                              // frequently can be directly used by JITs
                              // and should be much faster than doing
                              // Math.sqrt in software.
}

 

java.lang.Math 클래스의 메소드이다.

double 형의 파라미터를 전달하면 파라미터의 double 형 제곱근 값을 반환한다.

 

예제

 

System.out.println(Math.sqrt(25));

 

이렇게 입력하면 루트 25, 즉 5를 출력한다.

 

사용법을 익히기 위해 아래의 문제를 풀며 확인해보는 것을 추천한다.

https://programmers.co.kr/learn/courses/30/lessons/12934#

 

코딩테스트 연습 - 정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함

programmers.co.kr