zl程序教程

您现在的位置是:首页 >  后端

当前栏目

3 的幂(C++)

C++
2023-09-14 09:05:15 时间

3 的幂

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

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

示例 1:

输入:n = 27
输出:true

示例 2:

输入:n = 0
输出:false

示例 3:

输入:n = 9
输出:true

示例 4:

输入:n = 45
输出:false

提示:

  • -231 <= n <= 231 - 1

我的思路:
我们不断地将 n 除以 3,直到 n=1。如果此过程中 n 无法被 3 整除,就说明 n 不是 3 的幂。

我的代码:

class Solution {
public:
    bool isPowerOfThree(int n) {
	// 反复枚举相除判断
	while(n && n % 3 == 0) n /= 3;
        return n == 1;
    }
};