LeetCode-342-4的冪

雄獅虎豹 發表於 2021-09-25
LeetCode

4的冪

題目描述:給定一個整數,寫一個函式來判斷它是否是 4 的冪次方。如果是,返回 true ;否則,返回 false 。

整數 n 是 4 的冪次方需滿足:存在整數 x 使得 n == $4^{x}$

示例說明請見LeetCode官網。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/probl...
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

解法一:迴圈法

首先,如果n等於0,則直接返回false。

如果n不等於0,則進行迴圈處理,處理過程如下:

  • 如果n不能被4整除,則直接返回false;
  • 否則,n重置為n/4,然後進行下一輪處理;
  • 迴圈終止的條件是n小於4。

最後,判斷如果n等於1,則返回true;否則,返回false。

說明:LeetCode-326-3的冪 這道題目的解法完全一樣。

public class LeetCode_342 {
    public static boolean isPowerOfFour(int n) {
        // 4的任何次冪都不可能為0,所以直接直接返回false
        if (n == 0) {
            return false;
        }
        while (n >= 4) {
            if (n % 4 != 0) {
                return false;
            }
            n = n / 4;
        }
        if (n == 1) {
            return true;
        } else {
            return false;
        }
    }

    public static void main(String[] args) {
        System.out.println(isPowerOfFour(16));
    }
}
【每日寄語】 生活是種律動,須有光有影,有左有右,有晴有雨,滋味就含在這變而不猛的曲折裡。