LeetCode 326 3的幂[数学 循环] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 326 3的幂[数学 循环] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
第一种方式就是循环遍历的方式,如果n是3的倍数不断除3直到n为1,说明n是3的幂,否则不是,代码如下:
class Solution {
public:
bool isPowerOfThree(int n) {
while(n && n % 3 == 0) {
n /= 3;
}
return n == 1;
}
};
第二种方法是数学的方法, 在int范围内最大的3的幂是3的19次方,那么只要是3的幂与其取余都是0,代码如下:
class Solution {
public:
bool isPowerOfThree(int n) {
return n > 0 && 1162261467 % n == 0;
}
};
以上是关于LeetCode 326 3的幂[数学 循环] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章