版权声明:如需转载,记得标识出处 https://blog.csdn.net/godleaf/article/details/83186460
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4005
import java.util.*;
import java.math.*;
import java.io.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(new BufferedInputStream(System.in));
int T = cin.nextInt();
BigInteger a, x, two; String N;
two = BigInteger.valueOf(2);
for (int cas = 0; cas < T; ++cas) {
N = cin.next();
a = new BigInteger(N);
x = new BigInteger(N.substring(0, N.length()/2+1));
while (a.compareTo(x.multiply(x))<0) {
x = x.add(a.divide(x)).divide(two);
}
if(x.remainder(two).compareTo(BigInteger.ZERO) == 0)
System.out.println("0");
else System.out.println("1");
}
}
}