정수 제곱근

Huisu·2023년 12월 14일
0

Coding Test Practice

목록 보기
84/98
post-thumbnail

문제

2417번: 정수 제곱근

문제 설명

정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.

제한 사항

첫째 줄에 정수 n이 주어진다. (0 ≤ n < 2^63)

입출력 예

입력출력
12233344445555511060446

아이디어

이진 탐색

제출 코드

import java.io.IOException;
import java.util.Scanner;

public class four2417 {
    public void solution() throws IOException {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();

        long left = 0;
        long right = n;
        long result = 0;

        while (left <= right) {
            long middle = (left + right) / 2;

            if (Math.pow(middle, 2) >= n) {
                right = middle - 1;
                result = middle;
            } else {
                left = middle + 1;
            }
        }
        if (n == 0) result = 1;
        System.out.println(result);
    }

    public static void main(String[] args) throws IOException {
        new four2417().solution();
    }
}

0개의 댓글