Problem Solving/Baekjoon
[백준] 2417 정수 제곱근 - BinarySearch / Java
graycode
2023. 6. 13. 23:34
• 문제 링크
2417번: 정수 제곱근
정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
long n = Long.parseLong(br.readLine());
bw.write(String.valueOf(parametricSearch(n)));
bw.flush();
}
private static long parametricSearch(long n) {
long sqrt = 0, low = 0, high = n;
while (low <= high) {
long mid = (low + high) / 2;
if (Math.pow(mid, 2) >= n) {
high = mid - 1;
sqrt = mid;
} else low = mid + 1;
}
return sqrt;
}
}