알고리즘/구현,시뮬
BOJ - 2417 ) 정수제곱근
개발자가될수있을까?
2021. 8. 1. 17:46


https://www.acmicpc.net/problem/2417
2417번: 정수 제곱근
정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.
www.acmicpc.net
Long 범위에서 제곱근을 찾는다. sqrt의 결과를 두번곱한것이
입력된 숫자와 같다면 제곱근이고, 아니라면 +1한숫자를 리턴한다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long num = Long.parseLong(br.readLine());
long half = (long) Math.sqrt(num);
if(pow(half) == num) {
System.out.println(half);
} else {
System.out.println(half+1);
}
}
private static long pow(long half) {
return half*half;
}
}
