Python 中的三次方
假设我们有一个数字 n。我们需要检查该数字是否是 3 的次幂。因此,如果数字为 n = 27,即 3 的次幂,则结果为 true;如果 n = 15,则为 false。
为解决此问题,我们将按照以下步骤进行操作 -
- 我们将使用对数来解决此问题
- 如果 [log10(n) / log10(3)] mod 1 == 0,则为 3 的次幂,否则不是
示例
让我们看看以下实现,以便更好地理解 -
class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ if not n or n<0: return False return (math.log10(n)/ math.log10(3)) % 1 == 0 ob1 = Solution() print(ob1.isPowerOfThree(27)) print(ob1.isPowerOfThree(15)) print(ob1.isPowerOfThree(9)
输入
27 15 9
输出
true false true
广告