3 的幂(C++)
2023-09-14 09:05:15 时间
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;
}
};
相关文章
- UE5中 uDraper 插件无法编译 C++ 工程的修复
- EasyC++40,模板重载
- EasyC++76,继承(三)
- c++程序设计(上)从考试题中收获的一些知识点
- C++创建线程池_windows线程池iocp
- 如何在不使用 sizeof 的情况下在 Cu002FC++ 中找到数组的大小?
- VC++ InvalidateRect
- C++ 新特性学习(七) — 右值引用
- C/C++ Qt Tree与Tab组件实现分页菜单
- C++ 实现多线程生产者消费者模式
- C/C++ 恨透了 double free or corruption
- C++:异常
- C++智能指针
- C++ set,STL set详解
- C++ string字符串比较方法详解
- MySQL中使用C操作实现多线程事务安全(c++ mysql 锁)
- MySQL56和C开发开启新时代数据管理之旅(c++ mysql5.6)
- C++中的单例模式(普通,2B,文艺)
- C++实现DES加密算法实例解析
- 马尔可夫链算法(markov算法)的awk、C++、C语言实现代码