国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

leetcode-326-Power of Three

2019-11-08 01:48:34
字體:
來源:轉載
供稿:網友

問題

題目:[leetcode-326]

思路

想法很簡單,只要能一直被3整除即可。最后,數字一定是1。反之,則不是3的次數冪。

代碼

class Solution {public: bool isPowerOfThree(int n) { if(n<1) return false; while(n%3==0){ n /= 3; } if(1==n) return true; else return false; }};

思路1

這個題不用循環沒有思路,本省想著可能是位運算。但是沒有想出來。 最后,參考別人的方法發現不對。這個題應該是用數學的辦法去做。

如果n是3的冪,即n=3c,所以logn3=c。即后者是一個整數。 那么,可以采用換底公式,有logn10log310=C 所以,如果n是3的次方,那么上面的等式成立,反之,不是一個整數。上式不成立。

對于浮點數除法,可能是一個整數,結果任然是一個浮點數。我們需要判斷是不是整數。比如,6.2 / 3.1 = 2.0。等式右邊是一個浮點數,但它是一個整數。

代碼1

class Solution {public: bool isPowerOfThree(int n) { if(n<1) return false; else return isInt( log10(n)/log10(3) ); }PRivate: bool isInt(double val){ return val == (int)val; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹿邑县| 嘉善县| 清苑县| 辽中县| 建宁县| 龙海市| 资阳市| 汾阳市| 安义县| 台山市| 米易县| 杂多县| 军事| 旌德县| 鹤岗市| 建平县| 锡林郭勒盟| 隆回县| 隆德县| 武宣县| 寿阳县| 双鸭山市| 东丽区| 云阳县| 淮北市| 鲁甸县| 宜川县| 大同市| 东乌珠穆沁旗| 乌鲁木齐市| 昌江| 合水县| 洱源县| 周口市| 改则县| 扬州市| 雷州市| 榆林市| 黄梅县| 永福县| 阿荣旗|