力扣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;}
};