3 的幂(C++)

简介: 3 的幂(C++)

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

我的思路:

我们不断地将 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;
    }
};


相关文章
|
6月前
大整数的因子(利用求余)
大整数的因子(利用求余)
|
6月前
|
C++
2 的幂(C++)
2 的幂(C++)
53 1
|
6月前
|
C++
4的幂(C++)
4的幂(C++)
43 0
|
6月前
leetcode:231. 2 的幂(位运算)
leetcode:231. 2 的幂(位运算)
25 0
|
存储 C++
求2的N次幂(C++)解决高精度运算
求2的N次幂(C++)解决高精度运算
272 0
|
机器学习/深度学习
1208:2的幂次方表示
1208:2的幂次方表示
150 0
20:计算2的幂
20:计算2的幂
130 0
11:计算浮点数相除的余数
11:计算浮点数相除的余数
290 0
|
机器学习/深度学习
20天刷题计划-231. 2 的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。