我们平时判断一个数是不是2的整数次方的方法:
public class 是不是2的整数次方 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
while(N%2==0){
N = N/2;
}
if(N==1){
System.out.println("是2的整数次方");
return;
}
System.out.println("不是2的整数次方");
}
}
但是这种方法 很消耗
另外一种方法:
public class 是不是2的整数次方 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
if(((N-1)&N)==0){
System.out.println("是2的整数次方");
}else{
System.out.println("不是");
}
}
}