【計蒜客】X的平方根
阿新 • • 發佈:2018-11-16
題目描述
設計函式int sqrt(int x),計算 x的平方根。
輸入格式
輸入一個 整數 x,輸出它的平方根。直到碰到檔案結束符(EOF)為止。
輸出格式
對於每組輸入,輸出一行一個整數,表示輸入整數的平方根。
樣例輸入
1
2
3
4
5
6
7
8
9
樣例輸出
1
1
1
2
2
2
2
2
3
AC程式碼
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int x = sc.nextInt(); System.out.println(fun(x)); } } private static int fun(int x) { int low = 0; int high = x; while (low <= high) { long mid = (long) (low + high) / 2; if (mid * mid < x) { low = (int) mid + 1; } else if (mid * mid > x) { high = (int) mid - 1; } else { return (int) mid; } } return high; } }