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;
    }
};


相关文章
|
5月前
大整数的因子(利用求余)
大整数的因子(利用求余)
|
5月前
|
C++
2 的幂(C++)
2 的幂(C++)
46 1
|
5月前
|
C++
4的幂(C++)
4的幂(C++)
38 0
|
存储 C++
求2的N次幂(C++)解决高精度运算
求2的N次幂(C++)解决高精度运算
230 0
|
机器学习/深度学习
1208:2的幂次方表示
1208:2的幂次方表示
130 0
|
Java C++ Python
负数取余,取余和取模
负数取余,取余和取模
|
测试技术 C语言 Python
【C除法和取余】除法和负数取余你真的会了吗?
【C除法和取余】除法和负数取余你真的会了吗?
118 0
【C除法和取余】除法和负数取余你真的会了吗?
20:计算2的幂
20:计算2的幂
121 0
|
机器学习/深度学习
20天刷题计划-231. 2 的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。