LeetCode 326. 3的幂
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 326. 3的幂
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個整數,寫一個函數來判斷它是否是 3 的冪次方。
示例 1: 輸入: 27 輸出: true示例 2: 輸入: 0 輸出: false示例 3: 輸入: 9 輸出: true示例 4: 輸入: 45 輸出: false進階: 你能不使用循環或者遞歸來完成本題嗎?來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/power-of-three
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
能整除以3的話,不斷往下除,最后應該等于1
class Solution { public:bool isPowerOfThree(int n) {if(n < 1)return false;while(n%3 == 0)n /= 3;return n == 1;} };或者把 int 最大的3的倍數拿出來 對n 取模
class Solution { public:bool isPowerOfThree(int n) {return n > 0 && 1162261467 % n == 0;} };數字怎么來的?如下
int largest3 = pow(3, int(log(INT_MAX)/log(3)));return n>0 && largest3%n == 0;總結
以上是生活随笔為你收集整理的LeetCode 326. 3的幂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 303. 区域和检索
- 下一篇: LeetCode 904. 水果成篮(滑