洛谷链接
思路:偶数 * 偶数=偶数,奇数 * 偶数=偶数,奇数 * 奇数=奇数。已知只有偶数×偶数的时候没有大于1的奇因数,此中的偶数是纯偶数(也就数2n),所以写一个循环,如果不是2n 即可。因为怕超出数据范围,所以用的BigInteger。
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
sc.nextLine();
while(t-->0) {
String str = sc.nextLine();
String str2 = t==0?"":"\n";
BigInteger a = new BigInteger(str);
while(a.mod(BigInteger.TWO).compareTo(BigInteger.ZERO)==0) {
a=a.divide(BigInteger.TWO);
}
if(a.compareTo(BigInteger.ONE)==0) {
System.out.print("NO"+str2);
}else System.out.print("YES"+str2);
}
}
}