1. 程式人生 > >Python實現"4的冪"的兩種方法

Python實現"4的冪"的兩種方法

給定一個帶符號整數,寫一個函式判斷它是否是4的冪

Example: Given num = 16, return true. Given num = 5, return false.

進階:

你能不用迴圈或者遞迴完成本題麼?

1:累除4

迴圈

def isPowerOfFour(self, num):
        """
        :type num: int
        :rtype: bool
        """
        if num <= 0:
            return False
        while num % 4 == 0:
            num //= 4
        return num == 1

遞迴

def isPowerOfFour(self, num):
        """
        :type num: int
        :rtype: bool
        """
        if num <= 0:
            return False
        if num == 1:
            return True
        if num % 4 != 0:
            return False
        return self.isPowerOfFour(num // 4)