111. Very simple problem
time limit per test: 0.25 sec.
memory limit per test: 4096 KB
You are given natural number X. Find such maximum integer number that it square is not greater than X.
Input
Input file contains number X (1≤X≤101000).
Output
Write answer in output file.
Sample Input
16
Sample Output
4
java 二分 能过就行。。。
import java.io.*; import java.math.BigInteger; import java.nio.Buffer; import java.util.*; public class Main { public static void main(String args[]) throws Exception { Scanner cin=new Scanner(System.in); BigInteger a=cin.nextBigInteger(); BigInteger left=BigInteger.valueOf(1); BigInteger right=a; while (left.compareTo(right)<=0){ BigInteger mid=left.add(right).divide(BigInteger.valueOf(2)); if(mid.multiply(mid).compareTo(a)<=0){ left=mid.add(BigInteger.ONE); } else{ right=mid.subtract(BigInteger.ONE); } } System.out.print(right); } }