package test; public class Test02 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(isPower(4)); System.out.println(isPower(6)); } public static boolean isPower(int n){ if(n<1){ return false; } int i=1; while(i<=n){ if(i==n){ return true; //相等後說明存在一個2的n次冪 } i<<=1; } return false; } }
上述時間複雜度爲O(logn)code
package test; public class Test02 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(isPower(4)); System.out.println(isPower(6)); } public static boolean isPower(int n){ if(n<1){ return false; } int m=n&(n-1); return m==0; } }