北京哪家公司做網(wǎng)站好seo發(fā)貼軟件
題目
給你一個(gè)整數(shù) n,請(qǐng)你判斷該整數(shù)是否是 2 的冪次方。如果是,返回 true ;否則,返回 false 。
如果存在一個(gè)整數(shù) x 使得 n == 2x ,則認(rèn)為 n 是 2 的冪次方。
示例 1:
輸入:n = 1
輸出:true
解釋:20 = 1
分析
如果求余2不為0的能說明一定不是2的冪次方,處理好邊界條件,通過遞歸不斷縮小范圍
public class powerofTwo {public static void main(String[] args) {System.out.println(powTwo(4));}public static boolean powTwo(int n) {if(n == 1) {return true;}if(n == 0 || n % 2 == 1) {return false;}return powTwo(n / 2);}
}