[LeetCode]326. Power of Three
题目描述
思路
简单循环
代码
循环
暴力解
非循环
找出整数中最大的3的指数的数,则满足是三的指数的数,对他取模为0
class Solution {
public:
bool isPowerOfThree(int n) {
if (n == 0)
return false;
while(n % 3 == 0)
n /= 3;
return n == 1;
}
};
非循环
class Solution {
public:
bool isPowerOfThree(int n) {
int Max3PowerInt = 1162261467; // 3^19, 3^20 = 3486784401 > MaxInt32
int MaxInt32 = 2147483647; // 2^31 - 1
if (n <= 0 || n > Max3PowerInt) return false;
return Max3PowerInt % n == 0;
}
};