본문 바로가기
JAVA

[JAVA] 숫자 제곱근(루트) 구하는 방법 Math.sqrt()

by 열정적인 이찬형 2022. 1. 2.

상황

  • 코드를 작성할 때에 제곱근(루트)를 사용해야 할 경우가 생길 수 있다.
  • 예를 들어 소수를 확인하는 알고리즘을 작성할 때에 제곱근(루트)를 사용하면 시간복잡도가 좋아진다.

사용법

import java.io.*;
import java.math.*;
public class Main{
	public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader를 통해 입력 값 받기
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
       	//BufferedWriter를 통해 결과 출력
        int num = Integer.parseInt(br.readLine());		//입력값 int형으로 변환
        double root = Math.sqrt(num);				//제곱근(루트)으로 변환
    	bw.write(root + "\n");					//제곱근값 BufferedWriter에 저장
    	bw.flush();						//결과 출력
    	bw.close();
    	br.close();
    }
}
  • Math.sqrt() java.math에 포함되어 있기 때문에 import java.math.*를 선언해주어야 합니다.
  • Math.sqrt(정수값)으로 정수값의 제곱근(루트)를 구할 수 있습니다. 

예제

코드

import java.io.*;
import java.math.*;
public class Test{
	public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader를 통해 입력 값 받기
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
       	//BufferedWriter를 통해 결과 출력
        int num_1 = Integer.parseInt(br.readLine());		//입력값 int형으로 변환
        int num_2 = Integer.parseInt(br.readLine());
        double root_1 = Math.sqrt(num_1);			//제곱근(루트)으로 변환
        double root_2 = Math.sqrt(num_2);
    	bw.write("num1의 제곱근 : " + root_1 + "\n");		//제곱근값 BufferedWriter에 저장
    	bw.write("num1의 제곱근 : " + root_2 + "\n");
    	bw.write("제곱근들의 합 : " + (root_1+root_2) + "\n");
    	bw.flush();						//결과 출력
    	bw.close();
    	br.close();
    }
}

결과

댓글