반응형
02-11 15:02
Today
Total
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
관리 메뉴

개발하는 고라니

[백준] 2417번 : 정수 제곱근 본문

Programming/백준

[백준] 2417번 : 정수 제곱근

조용한고라니 2021. 3. 20. 13:55
반응형
 

2417번: 정수 제곱근

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

www.acmicpc.net


[이진탐색, Binary Search]

long타입의 정수 중 제곱했을 때 n보다 큰 값중 가장 작은 값을 찾는 문제.

left = 0, right = n으로 세팅하고 이진탐색을 진행하면 쉽게 찾는다.

# Code </>

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        long n = Long.parseLong(br.readLine()), left = 0, right = n, min = Long.MAX_VALUE;;

        while(left <= right){

            long mid = (left + right) / 2;
            long value = (long) Math.pow(mid, 2);

            if(value >= 0){

                if(value >= n){

                    min = Math.min(min, mid);
                    right = mid - 1;
                }
                else
                    left = mid + 1;
            }
        }
        System.out.println(min);
    }
}
반응형

'Programming > 백준' 카테고리의 다른 글

[백준] 15900번 : 나무 탈출  (0) 2021.03.20
[백준] 2234번 : 성곽  (0) 2021.03.20
[백준] 2023번 : 신기한 소수  (0) 2021.03.20
[백준] 14716번 : 현수막  (0) 2021.03.19
[백준] 3187번 : 양치기 꿍  (0) 2021.03.19
Comments