力扣326:3的幂
- 题目
- 思路
- 代码
题目
给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3^x
思路
想要是三的幂次方的话将这个数字拆乘最小的数相乘必须每个数都是3也就说这个数字是可以由x个3相乘得来的,所以我们可以得到两个特性。它可以一直除以3直到3/3得到1,并且每次除以3前后对3取模得到的结果都是0。
代码
class Solution {
public:bool isPowerOfThree(int n) {while (n && n % 3 == 0) {n /= 3;}return n == 1;}
};