Skip to main content

Power of 2 [Easiest/One liner]


Company:
Oracle, Microsoft, Mallow Technologies, Intel , FactSet, BankBazaar, Adobe, Samsung, Practo

Question:

Given a positive integer N, check if N is a power of 2.
Input:
The first line contains 'T' denoting the number of test cases. Then follows description of test cases.
Each test case contains a single positive integer N.

Output:
Print "YES" if it is a power of 2 else "NO". (Without the double quotes)

Constraints:
1<=T<=100
0<=N<=10^18

Example:
Input :
2
1
98

Output :
YES
​NO
Explanation:  (2^0 == 1)

Code:
import java.util.*;
import java.lang.*;
import java.io.*;

class Solution {
public static void main (String[] args) {
//code
Scanner sc= new Scanner(System.in);
int m = sc.nextInt();
for(int i=0;i<m;i++){
System.out.println((Math.log(sc.nextBigInteger().doubleValue())/Math.log(2))%1<=.00001?"YES":"NO");
}
}
}

Comments