• 문제 링크
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;
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 6236 용돈 관리 - BinarySearch / Java (0) | 2023.06.15 |
---|---|
[백준] 1654 랜선 자르기 - BinarySearch / Java (0) | 2023.06.14 |
[백준] 2805 나무 자르기 - BinarySearch / Java (0) | 2023.06.12 |
[백준] 2512 예산 - BinarySearch / Java (0) | 2023.06.11 |
[백준] 11663 선분 위의 점 - BinarySearch / Java (0) | 2023.06.10 |
댓글