3 的幂

3 的幂

CategoryDifficultyLikesDislikes
algorithmsEasy (50.64%)252-

Tags

math

Companies

google

给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x

示例 1:

1
2
输入:n = 27
输出:true

示例 2:

1
2
输入:n = 0
输出:false

示例 3:

1
2
输入:n = 9
输出:true

示例 4:

1
2
输入:n = 45
输出:false

提示:

  • -231 <= n <= 231 - 1

进阶: 你能不使用循环或者递归来完成本题吗?


Discussion | Solution

解法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
class Solution {
public:
    bool isPowerOfThree(int n) {
        if (n<0) {
            return false;
        }
        uint r = 1;
        while(r<n) {
            r*=3;
        }
        return r==n?true:false;
    }
};
updatedupdated2024-08-252024-08-25