반응형
02-11 15:02
- Today
- Total
Link
개발하는 고라니
[백준] 2417번 : 정수 제곱근 본문
반응형
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