10.18算法

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

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

 

示例 1:

输入:n = 27
输出:true
示例 2:

输入:n = 0
输出:false
示例 3:

输入:n = 9
输出:true
示例 4:

输入:n = 45
输出:false
 

提示:

-231 <= n <= 231 - 1

class Solution {
public:
    bool isPowerOfThree(int n) {
    if(n==1){
        return true;
    }
    long x = 3;
    while(x<n){
        x*=3;
    }
    if(x == n){
        return true;
    }
    else{
        return false;
    }
    }
};
关键:n==1时为特例,还有用long避免超出范围
posted @ 2023-10-18 10:02  卧龙丹心  阅读(21)  评论(0)    收藏  举报