给定一个整数,写一个函数来判断它是否是 3 的幂次方。
解法:
循环迭代
n如果3的幂次方
n = 3*3......*3;
n = 3^x
因此,应该可以将 n
除以 3
x 次,每次都有 0 的余数,最终结果是 1。
class Solution {
public:
bool isPowerOfThree(int n) {
if(n < 1)
return false;
while(n % 3 == 0)
n /= 3; //是为了跳出循环
return n == 1;
}
};