728x90
실버 4
문제
정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 n이 주어진다. (0 ≤ n < 263)
출력
첫째 줄에 q2 ≥ n인 가장 작은 음이 아닌 정수 q를 출력한다.
728x90
BigInteger.sqrtAndRemainder()를 사용해 제곱근과 나머지를 구한다.
나머지가 0이 아니라면, 즉 정수 제곱근이 아니면 제곱근 값을 올림한다.
import java.io.*;
import java.math.BigInteger;
public class Main2417 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BigInteger N = new BigInteger(br.readLine());
BigInteger[] sqrt = N.sqrtAndRemainder();
if (!sqrt[1].equals(BigInteger.ZERO))
sqrt[0] = sqrt[0].add(BigInteger.ONE);
bw.write(sqrt[0].toString());
bw.flush();
br.close();
bw.close();
}
}
728x90
'코딩테스트 > 백준-Java' 카테고리의 다른 글
[백준 자바] 25497번(기술 연계마스터 임스) (1) | 2024.06.28 |
---|---|
[백준 자바] 10799번(쇠막대기) (0) | 2024.06.28 |
[백준 자바] 1920번(수 찾기) - Set, 이진 탐색, Arrays.binarySearch() (0) | 2024.06.27 |
[백준 자바] 11660번(구간 합 구하기 5) - 2차원 배열 누적 합 (0) | 2024.06.26 |
[백준 자바] 1124번(언더프라임) - 소인수 개수가 소수인 수 (0) | 2024.06.25 |