給定乙個整數,寫乙個函式來判斷它是否是 3 的冪次方。
示例 1:
輸入:27輸出:true示例 2:
輸入:0輸出:false示例 3:
輸入:9輸出:true示例 4:
輸入:45輸出:false高階:
你能不使用迴圈或者遞迴來完成本題嗎?
思路一:直接用暴力破解的方法,迴圈 math.pow(3,i),判斷結果是否和 n 相等
class solution
}return false;
}}
思路二:網上看別人的,使用對數的知識,如果 n 是 3 的冪的話,那麼以 3 為底的對數 n 為整數,那麼轉型 int 後與自身相減為 0 。
public static boolean ispowerofthree(int n)
思路三:
class solution
}
leetcode刷題筆記326 3的冪
給出乙個整數,寫乙個函式來確定這個數是不是3的乙個冪。後續挑戰 你能不使用迴圈或者遞迴完成本題嗎?既然不使用迴圈或者遞迴,那我可要抖機靈了 如果某個數n為3的冪 則k log3n 思路 首先求出int範圍最大的3的冪 max3 如果n為3的冪,則max3必定能整除n so,直接上 c 版 class...
數學 326 3的冪
給定乙個整數,寫乙個函式來判斷它是否是 3 的冪次方。示例 1 輸入 27輸出 true示例 2 輸入 0輸出 false示例 3 輸入 9輸出 true示例 4 輸入 45輸出 false高階 你能不使用迴圈或者遞迴來完成本題嗎?求冪 遞迴 public class solution while ...
LeetCode 231 冪的問題
在leetcode中有幾道很類似的冪問題,我們可以首先來看看2的冪的問題 這其實是一道很簡單的題目,我們可以從兩個角度來解決這個問題,首先這種解法是位運算,我們可以發現2的冪次方轉換成二進位制第一位都是1,後面都是0,比如說2的二進位制是10,4的二進位制是100,8的二進位制是1000,所以說如果...